2009-02-04 23:00 UTC+0100 Viktor Szakats (harbour.01 syenar hu)

* bin/hb-func.sh
  * bin/hb-mkslib.sh
  * bin/hbmk.bat
  * bin/hbmk_b32.bat
  * bin/hbmk_vc.bat
  * bin/pack_src.sh
  * bin/postinst.bat
  * contrib/examples/uhttpd/modules/bldhrb.bat
  * contrib/gtwvg/Makefile
  * contrib/hbct/ctflist.txt
  * contrib/hbgf/hbgfwin/Makefile
  * contrib/hbgf/Makefile
  * contrib/hbodbc/Makefile
  * contrib/hbole/Makefile
  * contrib/hbtpathy/Makefile
  * contrib/hbwhat/Makefile
  * contrib/hbwin/Makefile
  * contrib/make_gcc_all.sh
  * contrib/mtpl_b32.mak
  * contrib/mtpl_gcc.mak
  * contrib/mtpl_gcc.sh
  * contrib/mtpl_vc.mak
  * doc/dirstruc.txt
  * doc/es/dirstruc.txt
  * doc/funclist.txt
  * doc/gmake.txt
  * harbour-wce-spec
  * harbour-win-spec
  * make_b32.mak
  * make_gcc.mak
  * make_gcc.sh
  * make_gnu.bat
  * make_gnu.sh
  * make_gnu_xmingw.sh
  * make_gnu_xmingwce.sh
  * make_vc.mak
  * Makefile
  * mpkg_tgz.sh
  * source/vm/Makefile
  * source/vm/vmmt/Makefile
  - config/w32
  + config/win
    * HB_ARCHITECTURE w32 -> win transition. Pass 1.
This commit is contained in:
Viktor Szakats
2009-02-04 22:02:35 +00:00
parent 4f1d21a620
commit b9faa70ee8
58 changed files with 1009 additions and 971 deletions

View File

@@ -8,6 +8,51 @@
2008-12-31 13:59 UTC+0100 Foo Bar (foo.bar foobar.org)
*/
2009-02-04 23:00 UTC+0100 Viktor Szakats (harbour.01 syenar hu)
* bin/hb-func.sh
* bin/hb-mkslib.sh
* bin/hbmk.bat
* bin/hbmk_b32.bat
* bin/hbmk_vc.bat
* bin/pack_src.sh
* bin/postinst.bat
* contrib/examples/uhttpd/modules/bldhrb.bat
* contrib/gtwvg/Makefile
* contrib/hbct/ctflist.txt
* contrib/hbgf/hbgfwin/Makefile
* contrib/hbgf/Makefile
* contrib/hbodbc/Makefile
* contrib/hbole/Makefile
* contrib/hbtpathy/Makefile
* contrib/hbwhat/Makefile
* contrib/hbwin/Makefile
* contrib/make_gcc_all.sh
* contrib/mtpl_b32.mak
* contrib/mtpl_gcc.mak
* contrib/mtpl_gcc.sh
* contrib/mtpl_vc.mak
* doc/dirstruc.txt
* doc/es/dirstruc.txt
* doc/funclist.txt
* doc/gmake.txt
* harbour-wce-spec
* harbour-win-spec
* make_b32.mak
* make_gcc.mak
* make_gcc.sh
* make_gnu.bat
* make_gnu.sh
* make_gnu_xmingw.sh
* make_gnu_xmingwce.sh
* make_vc.mak
* Makefile
* mpkg_tgz.sh
* source/vm/Makefile
* source/vm/vmmt/Makefile
- config/w32
+ config/win
* HB_ARCHITECTURE w32 -> win transition. Pass 1.
2009-02-04 22:11 UTC+0100 Viktor Szakats (harbour.01 syenar hu)
* bin/hbmk.bat
* make_gcc.sh

View File

@@ -37,7 +37,7 @@ else
ifeq ($(HB_ARCHITECTURE),dos)
HB_POSTINST = $(subst /,\,$(TOP)$(ROOT)bin/postinst.bat) $(HB_POSTINSTPARAM)
else
ifeq ($(HB_ARCHITECTURE),w32)
ifeq ($(HB_ARCHITECTURE),win)
HB_POSTINST = $(subst /,\,$(TOP)$(ROOT)bin/postinst.bat) $(HB_POSTINSTPARAM)
endif
endif

View File

@@ -120,7 +120,7 @@ mk_hbtools()
hb_static="yes"
hb_static_default=" (default)"
hb_exesuf=".exe"
elif [ "${HB_ARCHITECTURE}" = "w32" ]; then
elif [ "${HB_ARCHITECTURE}" = "win" ]; then
hb_tool="$1/${hb_pref}-build"
hb_path_separator=":"
if [ "${HB_MK_STATIC}" = "yes" ]; then
@@ -383,7 +383,7 @@ SYSTEM_LIBS="${HB_SYS_LIBS}"
# use pthread system library for MT programs
if [ "\${HB_MT}" = "MT" ]; then
case "\${HB_ARCHITECTURE}" in
dos|w32|os2)
dos|win|os2)
;;
*)
SYSTEM_LIBS="-lpthread \${SYSTEM_LIBS}"
@@ -464,7 +464,7 @@ else
pref="lib"
ext=".dylib"
LN_OPT="\${LN_OPT} -bind_at_load -multiply_defined suppress"
elif [ "\${HB_ARCHITECTURE}" = "w32" ]; then
elif [ "\${HB_ARCHITECTURE}" = "win" ]; then
pref=""
ext=".dll"
HB_LNK_ATTR="__attribute__ ((dllimport))"
@@ -725,7 +725,7 @@ mk_hblibso()
full_lib_name="lib${name}.${hb_ver}${lib_ext}"
full_lib_name_mt="lib${name}mt.${hb_ver}${lib_ext}"
linker_options="-L/sw/lib -L/opt/local/lib $linker_options"
elif [ "${HB_ARCHITECTURE}" = "w32" ]; then
elif [ "${HB_ARCHITECTURE}" = "win" ]; then
lib_ext=".dll"
full_lib_name="${name}${lib_ext}"
full_lib_name_mt="${name}mt${lib_ext}"
@@ -753,7 +753,7 @@ mk_hblibso()
do
if [ -f $l ]
then
if [ "${HB_ARCHITECTURE}" = "w32" ]; then
if [ "${HB_ARCHITECTURE}" = "win" ]; then
if [ "${HB_XBUILD}" = "" ]; then
(cd "$dir"
mv "${HB_LIB_INSTALL}/$l" "${HB_BIN_INSTALL}")

View File

@@ -25,7 +25,7 @@ fi
linker_options=""
case "$hb_arch" in
*windows*|*mingw32*|msys*) hb_arch="w32" ;;
*windows*|*mingw32*|msys*) hb_arch="win" ;;
*os/2*) hb_arch="os2" ;;
*dos) hb_arch="dos" ;;
*bsd) hb_arch="bsd" ;;
@@ -33,7 +33,7 @@ esac
case "$hb_arch" in
darwin) SLIB_EXT=".dylib" ;;
w32) SLIB_EXT=".dll" ;;
win) SLIB_EXT=".dll" ;;
os2) SLIB_EXT=".dll" ;;
hpux) SLIB_EXT=".sl" ;;
*) SLIB_EXT=".so" ;;

View File

@@ -206,7 +206,7 @@ if "%_HB_MT%" == "yes" set _HB_MT=mt
:A_WIN
rem ; Compatibility. Please use 'win'.
if "%HB_ARCHITECTURE%" == "win" set HB_ARCHITECTURE=w32
if "%HB_ARCHITECTURE%" == "w32" set HB_ARCHITECTURE=win
if not "%HB_ARCHITECTURE%" == "win" goto END

View File

@@ -4,14 +4,14 @@ rem $Id$
rem
rem ---------------------------------------------------------------
rem This is a generic template file, if it doesn't fit your own needs
rem This is a generic template file, if it doesn't fit your own needs
rem please DON'T MODIFY IT.
rem
rem Instead, make a local copy and modify that one, or make a call to
rem Instead, make a local copy and modify that one, or make a call to
rem this batch file from your customized one. [vszakats]
rem ---------------------------------------------------------------
set HB_ARCHITECTURE=w32
set HB_ARCHITECTURE=win
set HB_COMPILER=bcc32
call hbmk.bat %1 %2 %3 %4 %5 %6 %7 %8 %9

View File

@@ -4,14 +4,14 @@ rem $Id$
rem
rem ---------------------------------------------------------------
rem This is a generic template file, if it doesn't fit your own needs
rem This is a generic template file, if it doesn't fit your own needs
rem please DON'T MODIFY IT.
rem
rem Instead, make a local copy and modify that one, or make a call to
rem Instead, make a local copy and modify that one, or make a call to
rem this batch file from your customized one. [vszakats]
rem ---------------------------------------------------------------
set HB_ARCHITECTURE=w32
set HB_ARCHITECTURE=win
set HB_COMPILER=msvc
call hbmk.bat %1 %2 %3 %4 %5 %6 %7 %8 %9

View File

@@ -69,7 +69,7 @@ hb_collect_all_svn()
hb_collect_all_tree()
{
exclude="/obj/|/lib/|/bin/.*/|\.tar|\.zip|\.exe|\.log|/linux/|/w32|/config/"
exclude="/obj/|/lib/|/bin/.*/|\.tar|\.zip|\.exe|\.log|/linux/|/win|/config/"
for f in `find -type f | grep -vE ${exclude}`
do
echo ${f:2}

View File

@@ -19,7 +19,7 @@ rem DOS post install part
goto end
:inst_w32
:inst_win
rem Windows post install part
goto end

View File

@@ -13,7 +13,7 @@ set OLD_HB_COMPILER=%HB_COMPILER%
set OLD_HB_USER_LIBS=%HB_USER_LIBS%
set HB_INSTALL=..\..\..\..
if %HB_ARCHITECTURE%.==. set HB_ARCHITECTURE=w32
if %HB_ARCHITECTURE%.==. set HB_ARCHITECTURE=win
if %HB_COMPILER%.==. set HB_COMPILER=bcc32
SET HB_BIN_INSTALL=%HB_INSTALL%\bin
set HB_INC_INSTALL=include;%HB_INSTALL%\include

View File

@@ -6,7 +6,7 @@ ROOT = ../../
LIBNAME=gtwvg
ifeq ($(HB_ARCHITECTURE),w32)
ifeq ($(HB_ARCHITECTURE),win)
C_SOURCES=\
gtwvg.c \

File diff suppressed because it is too large Load Diff

View File

@@ -4,7 +4,7 @@
ROOT = ../../
ifeq ($(HB_ARCHITECTURE),w32)
ifeq ($(HB_ARCHITECTURE),win)
DIRS = hbgfwin
endif

View File

@@ -6,7 +6,7 @@ ROOT = ../../../
LIBNAME=hbgfwin
ifeq ($(HB_ARCHITECTURE),w32)
ifeq ($(HB_ARCHITECTURE),win)
C_SOURCES=\
winapi.c \

View File

@@ -10,7 +10,7 @@ ifeq ($(HB_COMPILER),rsxnt)
HB_WITHOUT_ODBC=yes
endif
ifneq ($(HB_ARCHITECTURE),w32)
ifneq ($(HB_ARCHITECTURE),win)
ifeq ($(HB_WITHOUT_ODBC),)
ifeq ($(HB_INC_ODBC),)

View File

@@ -6,7 +6,7 @@ ROOT = ../../
LIBNAME=hbole
ifeq ($(HB_ARCHITECTURE),w32)
ifeq ($(HB_ARCHITECTURE),win)
C_SOURCES=\
ole2.c \

View File

@@ -14,7 +14,7 @@ C_SOURCES=\
tpcommon.c \
endif
ifeq ($(HB_ARCHITECTURE),w32)
ifeq ($(HB_ARCHITECTURE),win)
C_SOURCES=\
tpwin.c \
tpcommon.c \

View File

@@ -6,7 +6,7 @@ ROOT = ../../
LIBNAME=hbwhat
ifeq ($(HB_ARCHITECTURE),w32)
ifeq ($(HB_ARCHITECTURE),win)
ifneq ($(HB_COMPILER),dm)
C_SOURCES = \
@@ -81,7 +81,7 @@ PRG_HEADERS= \
winstruc.ch \
winuser.ch \
# This lib needs xhb headers to compile, and this is
# This lib needs xhb headers to compile, and this is
# the hack to help Harbour find them.
PRG_USR += -I../../../xhb

View File

@@ -6,7 +6,7 @@ ROOT = ../../
LIBNAME=hbwin
ifeq ($(HB_ARCHITECTURE),w32)
ifeq ($(HB_ARCHITECTURE),win)
C_SOURCES=\
win_dll.c \

View File

@@ -16,7 +16,7 @@ if [ -z "$HB_ARCHITECTURE" ]; then
else
hb_arch=`uname -s | tr -d "[-]" | tr '[A-Z]' '[a-z]' 2>/dev/null`
case "$hb_arch" in
*windows*|*mingw32*|msys*) hb_arch="w32" ;;
*windows*|*mingw32*|msys*) hb_arch="win" ;;
*cygwin*) hb_arch="cyg" ;;
*dos) hb_arch="dos" ;;
*bsd) hb_arch="bsd" ;;
@@ -29,7 +29,7 @@ fi
if [ -z "$HB_CC_NAME" ]; then
case "$HB_ARCHITECTURE" in
w32) HB_CC_NAME="mingw" ;;
win) HB_CC_NAME="mingw" ;;
dos) HB_CC_NAME="djgpp" ;;
*) HB_CC_NAME="gcc" ;;
esac
@@ -44,7 +44,7 @@ else
_HB_DIRS="hbbmcdx hbbtree hbclipsm hbcrypt hbct hbgt hbmisc hbmsql hbmzip hbnf hbtip hbsqlit3 hbtpathy hbvpdf hbziparc xhb"
case "$HB_ARCHITECTURE" in
w32|cyg|os2)
win|cyg|os2)
_HB_DIRS="${_HB_DIRS} gtwvg hbole hbodbc hbwin hbwhat rddado"
;;
*)
@@ -64,11 +64,11 @@ else
if [ "${HB_INC_MYSQL}" != "" ]; then _HB_DIRS="${_HB_DIRS} rddsql" ; fi;
fi
# Revert Cygwin architecture to w32.
# Revert Cygwin architecture to 'win'.
# After all it's under Windows OS.
if [ "$HB_ARCHITECTURE" == "cyg" ]
then
export HB_ARCHITECTURE=w32
export HB_ARCHITECTURE=win
fi
_HB_DIRS="${_HB_DIRS} ${HB_CONTRIB_ADDONS}"

View File

@@ -23,7 +23,7 @@
#**********************************************************
HB_ARCHITECTURE = w32
HB_ARCHITECTURE = win
#**********************************************************

View File

@@ -115,7 +115,7 @@ endif
# C Compiler Flags
ifneq ($(HB_BUILD_OPTIM),no)
ifeq ($(HB_ARCHITECTURE),w32)
ifeq ($(HB_ARCHITECTURE),win)
CFLAGS := -march=i586 $(CFLAGS)
endif
CFLAGS := -O3 $(CFLAGS)

View File

@@ -30,7 +30,7 @@ if [ -z "$HB_ARCHITECTURE" ]; then
else
hb_arch=`uname -s | tr -d "[-]" | tr '[A-Z]' '[a-z]' 2>/dev/null`
case "$hb_arch" in
*windows*|*mingw32*|msys*) hb_arch="w32" ;;
*windows*|*mingw32*|msys*) hb_arch="win" ;;
*dos) hb_arch="dos" ;;
*bsd) hb_arch="bsd" ;;
esac
@@ -46,7 +46,7 @@ export _HB_MAKEFILE=${HB_MAKEFILE}
if [ -z "$_HB_CC_NAME" ]; then
case "$HB_ARCHITECTURE" in
w32) _HB_CC_NAME="mingw" ;;
win) _HB_CC_NAME="mingw" ;;
dos) _HB_CC_NAME="djgpp" ;;
*) _HB_CC_NAME="gcc" ;;
esac

View File

@@ -20,7 +20,7 @@
#**********************************************************
HB_ARCHITECTURE = w32
HB_ARCHITECTURE = win
#**********************************************************

View File

@@ -33,7 +33,7 @@ track of all files (read the FAQ if you don't know what SVN is).
| |
| +---sunos - Configutation files specific to SunOS.
| |
| +---w32 - Configutation files specific to MS Windows.
| +---win - Configutation files specific to MS Windows.
|
+---contrib - Miscellaneous contribution files. Those are not
| | part of the official Harbour project.

View File

@@ -6,7 +6,7 @@
* Las siguientes partes son derechos adquiridos de sus autores individuales.
* www - http://www.harbour-project.org
*
* Copyright 2002 Chen Kedem <niki@actcom.co.il>
* Copyright 2002 Chen Kedem <niki@actcom.co.il>
* Documentaci¢n en Ingls de: dirstruc.txt
*
* Copyright 2002 Alejandro de G rate <alex_degarate@hotmail.com>
@@ -20,13 +20,13 @@
Estructura de directorios de Harbour
====================================
Siguiendo estan los directorios que existen bajo el arbol de
Siguiendo estan los directorios que existen bajo el arbol de
Harbour.
Bajo cada directorio existente en esta lista hay tambin un
Bajo cada directorio existente en esta lista hay tambi'n un
directorio especial, llamado CVS, el que deber¡a normalmente
ser ignorado dado que ste es usado por el CVS para mantener
la pista de todos los archivos (lea las FAQ, si Ud. no sabe
qu es el CVS). Note que el  rbol puede contener otros
qu' es el CVS). Note que el  rbol puede contener otros
directorios vac¡os.
Ellos podr¡an ser obsoletos pero no hay una forma sencilla de
removerlos completamente (Ud. puede usar cvs update -d en
@@ -34,7 +34,7 @@ busca de remover directorios vac
<harbour> - Directorio principal de Harbour
| Contiene todos los archivos make y Changelog
| Contiene todos los archivos make y Changelog
| (cambios hist¢ricos)
|
+---bin - Ejecutables y batch de construcci¢n
@@ -48,20 +48,20 @@ busca de remover directorios vac
| |
| +---bsd - Archivos de Configuraci¢n espec¡ficos para FreeBSD
| |
| +---dos - Archivos de Configuraci¢n espec¡ficos
| +---dos - Archivos de Configuraci¢n espec¡ficos
| | para DOS.
| +---linux - Archivos de Config. espec¡ficos para GNU/Linux.
| |
| +---os2 - Archivos de Configuraci¢n espec¡ficos para OS/2.
| |
| +---w32 - Archivos de Config. espec¡ficos para MS-Win32.
| +---win - Archivos de Config. espec¡ficos para MS-Win32.
|
|
+---contrib - Archivos Miscelaneos de contribuci¢n.
| | No son parte del proyecto oficial Harbour
+---contrib - Archivos Miscelaneos de contribuci¢n.
| | No son parte del proyecto oficial Harbour
| |
| +---apollo - funciones para driver de base de datos Apollo
| | |
| +---apollo - funciones para driver de base de datos Apollo
| | |
| | |
| | +---test - Programas de Testeo
| |
@@ -82,17 +82,17 @@ busca de remover directorios vac
| +---hbzlib - Interface para 'zlib' libreria de compresion
| | | para trabajar con archivos ZIP
| | |
| | +---doc - Documentos para las funciones ZIP
| | +---doc - Documentos para las funciones ZIP
| |
| +---hb_struc - Clase Base Class para manejo interno de creaci¢n
| | de clases como estructuras
| |
| +---hgf - Entorno gr fico (GUI) de Harbour
| +---hgf - Entorno gr fico (GUI) de Harbour
| | |
| | +---gtk - Implementaci¢n para entorno GTK+
| | +---gtk - Implementaci¢n para entorno GTK+
| | |
| | +---os2pm - Implementaci¢n para OS/2 Presentation Manager
| | |
| | |
| | |
| | +---tests - Programas de Testeo
| | |
@@ -112,9 +112,9 @@ busca de remover directorios vac
| | |
| | +---en - Documentaci¢n en Ingls.
| |
| +---libmisc - Contribuci¢n Miscel nea
| +---libmisc - Contribuci¢n Miscel nea
| | |
| | +---doc - Documentos de contribuci¢n
| | +---doc - Documentos de contribuci¢n
| | | |
| | | +---en - Documentaci¢n en Ingls.
| | |
@@ -122,7 +122,7 @@ busca de remover directorios vac
| |
| +---libnf - Libreria Nanforum para Harbour.
| |
| +---msql - clases Harbour de acceso a mSQL
| +---msql - clases Harbour de acceso a mSQL
| |
| +---mysql - clases Harbour de acceso a MySQL
| |
@@ -178,13 +178,13 @@ busca de remover directorios vac
| |
| +---pe - Editor
|
|
+---source - Todos los archivos fuentes residen bajo este
|
+---source - Todos los archivos fuentes residen bajo este
| | directorio
| |
| |
| +---common - Funciones Comunes y Optimizador de Expresiones
| |
| +---compiler - M¢dulo del Compilador de Harbour
| +---compiler - M¢dulo del Compilador de Harbour
| |
| +---debug - Depurador.
| |
@@ -204,17 +204,17 @@ busca de remover directorios vac
| | +---nulsys - NULL RDD.
| |
| +---rtl - Funciones de la librer¡a de ejecuci¢n (RTL)
| | | y varias implementaciones de Terminales (GT)
| | | y varias implementaciones de Terminales (GT)
| | |
| | +---gtcgi - GT subsistema para aplicaciones cgi
| | |
| | +---gtcrs - Subsistema GT basado en ncurses (unix) (#1)
| | |
| | +---gtdos - Subsistema GT para compiladores de DOS
| | +---gtdos - Subsistema GT para compiladores de DOS
| | |
| | +---gtos2 - Subsistema GT para compiladores de OS/2
| | +---gtos2 - Subsistema GT para compiladores de OS/2
| | |
| | +---gtpca - Subsistema GT para terminales ANSI
| | +---gtpca - Subsistema GT para terminales ANSI
| | |
| | +---gtsln - Subsistema GT basado en slang (unix) (#1)
| | |
@@ -224,39 +224,39 @@ busca de remover directorios vac
| | |
| | +---gt_tpl - Subsistema GT modelo base
| |
| +---vm - Funciones de la Maquina Virtual (VM) e
| +---vm - Funciones de la Maquina Virtual (VM) e
| internas de la librer¡a de ejecuci¢n (RTL)
|
+---tests - Programas de Testeo de Harbour
|
+---utils - Utilidades y herramientas que son parte de Harbour
|
+---hbdoc - Herramienta generadora de Documentaci¢n
+---hbdoc - Herramienta generadora de Documentaci¢n
|
+---hbextern - generador de hbextern.ch
|
+---hbmake - Utilidad Make de Harbour
+---hbmake - Utilidad Make de Harbour
|
+---hbpp - Preprocesador de Harbour como m¢dulo aislado
|
+---hbrun - Ejecutor de archivos de Objetos Portables de
+---hbrun - Ejecutor de archivos de Objetos Portables de
| Harbour (#3)
+---hbtest - Test de Regresi¢n para la libreria RTL
Leyenda:
=======
(*) Deber¡a existir en una construcci¢n final si lo
(*) Deber¡a existir en una construcci¢n final si lo
construye Ud. mismo, en una distribuci¢n normal de CVS este
directorio est  vac¡o ¢ no contiene todos los archivos.
(#1) Aunque hoy en d¡a existen ports a otros sistemas operativos
sus ra¡ces estan en unix.
sus ra¡ces estan en unix.
(#2) Directorio temporal donde se ponen los archivos objeto
.obj u otro (dependiendo de la plataforma) a medida
que se construyen los ejecutables y las librer¡as.
si Ud. construye el compilador Harbour.
(#3) (.hrb), Archivos de formato Harbour Portable Object
(#3) (.hrb), Archivos de formato Harbour Portable Object

View File

@@ -12,17 +12,17 @@
; <platform> - dos[-bcc16]
; dos[-djgpp]
; dos[-watcom]
; w32[-bcc32][+T]
; w32[-gcc][+T]
; w32[-icc][+T]
; w32[-mingw32][+T]
; w32[-msvc][+T]
; win[-bcc32][+T]
; win[-gcc][+T]
; win[-icc][+T]
; win[-mingw][+T]
; win[-msvc][+T]
; os2[-gcc][+T]
; os2[-icc][+T]
; lin[-gcc][+T]
; mac[-mpw][+T]
;
; Examples: w32-gcc+T, w32, w32-icc
; Examples: win-gcc+T, win, win-icc
; (+T means multithreading ready)
;
; Use ';' for comments

View File

@@ -110,11 +110,11 @@ Now. let's take a look at the rules themselves. They all live in the
config/ directory, with the following structure:
config/: The generic configuration files.
config/w32: Configuration files for Windows platforms.
config/win: Configuration files for Windows platforms.
Finally, you will notice one thing: the build system compiles
everything into a subdirectory (for example, w32/gcc for Windows
everything into a subdirectory (for example, win/gcc for Windows
files compiled with gcc). This has two advantages:
1. It allows you to compile for multiple platforms/compilers at the
@@ -139,7 +139,7 @@ For gcc on Win95/WinNT with the Cygwin library:
Notes: The CYGWIN environment variable must include "noglob" in order
to avoid having Harbour or programs created with Harbour expand
wildcard command line arguments (this is checked at run-time!)
HB_ARCHITECTURE w32
HB_ARCHITECTURE win
HB_COMPILER gcc
HB_GT_LIB gtwin
CYGWIN noglob
@@ -147,7 +147,7 @@ For gcc on Win95/WinNT with the Cygwin library:
L_USR -mwin32
For gcc on Win95/WinNT with the MinGW library:
HB_ARCHITECTURE w32
HB_ARCHITECTURE win
HB_COMPILER mingw
HB_GT_LIB gtwin
@@ -159,7 +159,7 @@ For MSVC on Win95/WinNT:
not set to unix
For best results, in your copy of make_gnu.bat, also set:
HB_ARCHITECTURE w32
HB_ARCHITECTURE win
HB_COMPILER msvc
HB_GT_LIB gtwin
@@ -218,7 +218,7 @@ For IBM Visual Age C++ on OS/2 for PM mode:
HB_GT_LIB os2pm
For Borland C++ 5.5
HB_ARCHITECTURE w32
HB_ARCHITECTURE win
HB_COMPILER bcc32
HB_GT_LIB gtwin
@@ -294,4 +294,3 @@ can also be used for modules that aren't in the Makefile. You can also
pass parameters to the program. For example, 'build readfile harbour.ini'
will rebuild the readfile.prg program and run it with 'harbour.ini' as a
command line parameter.

View File

@@ -12,8 +12,8 @@
######################################################################
# Conditional build:
# --with mysql - build mysql lib
# --with pgsql - build pgsql lib
# --with gd - build gd lib
# --with pgsql - build pgsql lib
# --with gd - build gd lib
# --with allegro - build GTALLEG - Allegro based GT driver
# --with ads - build ADS RDD
# --with odbc - build odbc lib
@@ -93,7 +93,7 @@ export C_USR="-O2 -DHB_FM_STATISTICS_OFF"
make -r
export HB_HOST_BUILD=lib
export HB_ARCHITECTURE=w32
export HB_ARCHITECTURE=win
export HB_COMPILER=mingwce
mkdir -p source/pp/${HB_ARCHITECTURE}/${HB_COMPILER}
@@ -138,7 +138,7 @@ export CCPREFIX="%{hb_ccpref}"
export PATH="$CCPATH$PATH"
export HB_HOST_BUILD=lib
export HB_ARCHITECTURE=w32
export HB_ARCHITECTURE=win
export HB_COMPILER=mingwce
export HB_XBUILD=wce
export HB_BIN_INSTALL=%{_bindir}

View File

@@ -1,360 +1,360 @@
#
# $Id$
#
# ---------------------------------------------------------------
# Copyright 2007 Przemyslaw Czerpak (druzus/at/priv.onet.pl),
# Harbour-MinGW cross build RPM spec file
#
# See doc/license.txt for licensing terms.
# ---------------------------------------------------------------
######################################################################
# Conditional build:
# --with mysql - build mysql lib
# --with pgsql - build pgsql lib
# --with gd - build gd lib
# --with allegro - build GTALLEG - Allegro based GT driver
# --with ads - build ADS RDD
# --with odbc - build odbc lib
# --without nf - do not build nanforum lib
######################################################################
######################################################################
## Definitions.
######################################################################
%define name harbour-win
%define version 1.1.0
%define releasen dev
%define hb_pref hbw
%define hb_ccpath /opt/xmingw/bin
%define hb_ccpref i386-mingw-
%define hb_host www.harbour-project.org
%define readme README.RPM
# Workaround for the problem of /usr/bin/strip not handling PE binaries.
%define __strip %{hb_ccpath}/%{hb_ccpref}strip
%define __objdump %{hb_ccpath}/%{hb_ccpref}objdump
######################################################################
## Preamble.
######################################################################
Summary: Free software Clipper compatible compiler
Summary(pl): Darmowy kompilator kompatybilny z jêzykiem Clipper.
Name: %{name}
Version: %{version}
Release: %{releasen}
License: GPL (plus exception)
Group: Development/Languages
Vendor: %{hb_host}
URL: http://%{hb_host}/
Source: harbour-%{version}.src.tar.gz
Packager: Przemys³aw Czerpak (druzus/at/priv.onet.pl)
BuildPrereq: gcc binutils bash
Requires: gcc binutils bash sh-utils harbour = %{?epoch:%{epoch}:}%{version}-%{release}
Provides: %{name}
BuildRoot: /tmp/%{name}-%{version}-root
%define _noautoreq 'libharbour.*'
%description
Harbour is a CA-Cl*pper compatible compiler for multiple platforms. This
package includes a compiler, pre-processor, header files, virtual machine
and libraries for creating MS-Windows application in Linux box using MinGW
GCC port.
%description -l pl
Harbour to kompatybilny z jêzykiem CA-Cl*pper kompilator rozwijany na
wielu ró¿nych platformach. Ten pakiet zawiera kompilator, preprocesor,
zbiory nag³ówkowe, wirtualn± maszynê oraz biblioteki pozwalaj±ce na
tworzenie aplikacji dla MS-Windows przy u¿yciu MinGW GCC.
######################################################################
## Preperation.
######################################################################
%prep
%setup -c harbour
rm -fR $RPM_BUILD_ROOT
######################################################################
## Build.
######################################################################
%build
export HB_HOST_BUILD=yes
export HB_ARCHITECTURE=linux
export HB_COMPILER=gcc
export C_USR="-O2 -DHB_FM_STATISTICS_OFF"
make -r
export HB_HOST_BUILD=lib
export HB_ARCHITECTURE=w32
export HB_COMPILER=mingw
mkdir -p source/pp/${HB_ARCHITECTURE}/${HB_COMPILER}
ln -s ../../linux/gcc/hbpp source/pp/${HB_ARCHITECTURE}/${HB_COMPILER}/hbpp.exe
mkdir -p source/main/${HB_ARCHITECTURE}/${HB_COMPILER}
ln -s ../../linux/gcc/harbour source/main/${HB_ARCHITECTURE}/${HB_COMPILER}/harbour.exe
export CC_C_USR=""
export C_USR="$CC_C_USR -O2 -DHB_FM_STATISTICS_OFF"
export CC_PRG_USR="-D__PLATFORM__WINDOWS -undef:__PLATFORM__UNIX -undef:__PLATFORM__LINUX"
export PRG_USR="$CC_PRG_USR"
export L_USR="${CC_L_USR}"
export CCPATH="%{hb_ccpath}:"
export CCPREFIX="%{hb_ccpref}"
export PATH="$CCPATH$PATH"
export HB_XBUILD=w32
export HB_BIN_INSTALL=%{_bindir}
export HB_INC_INSTALL=%{_includedir}/%{name}
export HB_LIB_INSTALL=%{_libdir}/%{name}
export HB_CONTRIBLIBS="gtwvg hbbmcdx hbbtree hbclipsm hbct hbgt hbmisc hbmzip hbtip hbvpdf hbwin hbziparc rddado xhb %{!?_without_nf:hbnf} %{?_with_odbc:hbodbc} %{?_with_curl:hbcurl} %{?_with_ads:rddads} %{?_with_gd:hbgd} %{?_with_pgsql:hbpgsql} %{?_with_mysql:hbmysql} %{?_with_allegro:gtalleg}"
make -r
######################################################################
## Install.
######################################################################
%install
# Install harbour itself.
export CC_C_USR=""
export C_USR="$CC_C_USR -O2 -DHB_FM_STATISTICS_OFF"
export CC_PRG_USR="-D__PLATFORM__WINDOWS -undef:__PLATFORM__UNIX -undef:__PLATFORM__LINUX"
export PRG_USR="$CC_PRG_USR"
export L_USR="${CC_L_USR}"
export CCPATH="%{hb_ccpath}:"
export CCPREFIX="%{hb_ccpref}"
export PATH="$CCPATH$PATH"
export HB_HOST_BUILD=lib
export HB_ARCHITECTURE=w32
export HB_COMPILER=mingw
export HB_XBUILD=w32
export HB_BIN_INSTALL=%{_bindir}
export HB_INC_INSTALL=%{_includedir}/%{name}
export HB_LIB_INSTALL=%{_libdir}/%{name}
export HB_CONTRIBLIBS="gtwvg hbbmcdx hbbtree hbclipsm hbct hbgt hbmisc hbmzip hbtip hbvpdf hbwin hbziparc rddado xhb %{!?_without_nf:hbnf} %{?_with_odbc:hbodbc} %{?_with_curl:hbcurl} %{?_with_ads:rddads} %{?_with_gd:hbgd} %{?_with_pgsql:hbpgsql} %{?_with_mysql:hbmysql} %{?_with_allegro:gtalleg}"
export _DEFAULT_BIN_DIR=$HB_BIN_INSTALL
export _DEFAULT_INC_DIR=$HB_INC_INSTALL
export _DEFAULT_LIB_DIR=$HB_LIB_INSTALL
export HB_BIN_INSTALL=$RPM_BUILD_ROOT/$HB_BIN_INSTALL
export HB_INC_INSTALL=$RPM_BUILD_ROOT/$HB_INC_INSTALL
export HB_LIB_INSTALL=$RPM_BUILD_ROOT/$HB_LIB_INSTALL
export HB_TOOLS_PREF=%{hb_pref}
mkdir -p $HB_BIN_INSTALL
mkdir -p $HB_INC_INSTALL
mkdir -p $HB_LIB_INSTALL
make -r -i install
[ "%{?_with_odbc:1}" ] || rm -f $HB_LIB_INSTALL/libhbodbc.a
[ "%{?_with_allegro:1}" ] || rm -f $HB_LIB_INSTALL/libgtalleg.a
[ "%{?_with_ads:1}" ] || rm -f $HB_LIB_INSTALL/librddads.a
[ "%{?_without_nf:1}" ] && rm -f $HB_LIB_INSTALL/libhbnf.a
# Keep the size of the libraries to a minimim.
${CCPREFIX}strip --strip-debug $HB_LIB_INSTALL/*
# remove unused files
rm -fR ${HB_BIN_INSTALL}/{harbour,hbpp,hbdoc,hbmake,hbrun,hbi18n,hbtest}.exe
# Create a README file for people using this RPM.
cat > doc/%{readme} <<EOF
This RPM distribution of Harbour includes extra commands to make compiling
and linking with Harbour a little easier. There are compiler and linker
wrappers called "%{hb_pref}cc", "%{hb_pref}cmp", "%{hb_pref}lnk" and "%{hb_pref}mk".
"%{hb_pref}cc" is a wrapper to the C compiler only. It sets all flags
and paths necessary to compile .c files which include Harbour header
files. The result of its work is an object file.
Use "%{hb_pref}cmp" exactly as you would use the harbour compiler itself.
The main difference with %{hb_pref}cmp is that it results in an object file,
not a C file that needs compiling down to an object. %{hb_pref}cmp also
ensures that the harbour include directory is seen by the harbour compiler.
"%{hb_pref}lnk" simply takes a list of object files and links them together
with the harbour virtual machine and run-time library to produce an
executable. The executable will be given the basename of the first object
file if not directly set by the "-o" command line switch.
"%{hb_pref}mk" tries to produce an executable from your .prg file. It's a simple
equivalent of cl.bat from the CA-Cl*pper distribution.
All these scripts accept command line switches:
-o<outputfilename> # output file name
-static # link with static Harbour libs
-fullstatic # link with all static libs
-shared # link with shared libs (default)
-mt # link with multi-thread libs
-gt<hbgt> # link with <hbgt> GT driver, can be repeated to
# link with more GTs. The first one will be
# the default at runtime
-xbgtk # link with xbgtk library (xBase GTK+ interface)
-hwgui # link with HWGUI library (GTK+ interface)
-l<libname> # link with <libname> library
-L<libpath> # additional path to search for libraries
-fmstat # link with the memory statistics lib
-nofmstat # do not link with the memory statistics lib (default)
-[no]strip # strip (no strip) binaries
-main=<main_func> # set the name of main program function/procedure.
# if not set then 'MAIN' is used or if it doesn't
# exist the name of first public function/procedure
# in first linked object module (link)
Link options work only with "%{hb_pref}lnk" and "%{hb_pref}mk" and have no effect
in "%{hb_pref}cc" and "%{hb_pref}cmp".
Other options are passed to Harbour/C compiler/linker.
An example compile/link session looks like:
----------------------------------------------------------------------
druzus@uran:~/tmp$ cat foo.prg
function main()
? "Hello, World!"
return nil
druzus@uran:~/tmp$ %{hb_pref}cmp foo
Harbour 1.0.0 Intl. (Rev. 9099)
Copyright (c) 1999-2008, http://www.harbour-project.org/
Compiling 'foo.prg'...
Lines 5, Functions/Procedures 2
Generating C source output to 'foo.c'... Done.
druzus@uran:~/tmp$ %{hb_pref}lnk foo.o
druzus@uran:~/tmp$ ls -l foo
-rwxrwxr-x 1 druzus druzus 3824 maj 17 02:46 foo.exe
----------------------------------------------------------------------
or using %{hb_pref}mk only:
----------------------------------------------------------------------
druzus@uran:~/tmp$ cat foo.prg
function main()
? "Hello, World!"
return nil
druzus@uran:~/tmp$ %{hb_pref}mk foo
Harbour 1.0.0 Intl. (Rev. 9099)
Copyright (c) 1999-2008, http://www.harbour-project.org/
Compiling 'foo.prg'...
Lines 5, Functions/Procedures 2
Generating C source output to 'foo.c'... Done.
druzus@uran:~/tmp$ ls -l foo
-rwxrwxr-x 1 druzus druzus 3824 maj 17 02:46 foo.exe
----------------------------------------------------------------------
I hope this RPM is useful. Have fun with Harbour.
Przemyslaw Czerpak (druzus/at/priv.onet.pl)
EOF
######################################################################
## Post install
######################################################################
#%post lib
#/sbin/ldconfig
######################################################################
## Post uninstall
######################################################################
#%postun lib
#/sbin/ldconfig
######################################################################
## Clean.
######################################################################
%clean
rm -fR $RPM_BUILD_ROOT
######################################################################
## File list.
######################################################################
%files
%defattr(-,root,root,755)
%doc doc/%{readme}
%{_bindir}/%{hb_pref}-mkslib
%{_bindir}/%{hb_pref}-build
%{_bindir}/%{hb_pref}cc
%{_bindir}/%{hb_pref}cmp
%{_bindir}/%{hb_pref}lnk
%{_bindir}/%{hb_pref}mk
%defattr(644,root,root,755)
%dir %{_includedir}/%{name}
%{_includedir}/%{name}/*
%dir %{_libdir}/%{name}
%{_libdir}/%{name}/libhbcpage.a
%{_libdir}/%{name}/libhbcommon.a
%{_libdir}/%{name}/libhbcplr.a
%{_libdir}/%{name}/libhbdebug.a
%{_libdir}/%{name}/libhbfm.a
%{_libdir}/%{name}/libhbfmmt.a
%{_libdir}/%{name}/librddfpt.a
%{_libdir}/%{name}/librddcdx.a
%{_libdir}/%{name}/librddntx.a
%{_libdir}/%{name}/librddnsx.a
%{_libdir}/%{name}/libgt*.a
%{_libdir}/%{name}/libhblang.a
%{_libdir}/%{name}/libhbmacro.a
%{_libdir}/%{name}/libhbpcre.a
%{_libdir}/%{name}/libhbzlib.a
%{_libdir}/%{name}/libhbextern.a
%{_libdir}/%{name}/libhbnulrdd.a
%{_libdir}/%{name}/libhbpp.a
%{_libdir}/%{name}/libhbrdd.a
%{_libdir}/%{name}/libhbhsx.a
%{_libdir}/%{name}/libhbsix.a
%{_libdir}/%{name}/libhbrtl.a
%{_libdir}/%{name}/libhbvm.a
%{_libdir}/%{name}/libhbvmmt.a
%{_libdir}/%{name}/libhbmainstd.a
%{_libdir}/%{name}/libhbusrrdd.a
%{_libdir}/%{name}/libhbuddall.a
%{!?_without_nf: %{_libdir}/%{name}/libhbnf.a}
%{?_with_ads: %{_libdir}/%{name}/librddads.a}
%{?_with_odbc: %{_libdir}/%{name}/libhbodbc.a}
%{?_with_mysql: %{_libdir}/%{name}/libhbmysql.a}
%{?_with_pgsql: %{_libdir}/%{name}/libhbpgsql.a}
%{?_with_gd: %{_libdir}/%{name}/libhbgd.a}
%{_libdir}/%{name}/libhbbtree.a
%{_libdir}/%{name}/libhbmisc.a
%{_libdir}/%{name}/libhbmzip.a
%{_libdir}/%{name}/libhbct.a
%{_libdir}/%{name}/libhbtip.a
%{_libdir}/%{name}/libxhb.a
%{_libdir}/%{name}/librddado.a
%{_libdir}/%{name}/libhbwin.a
%{_libdir}/%{name}/libhbvpdf.a
%{_libdir}/%{name}/libhbgt.a
%{_libdir}/%{name}/libhbbmcdx.a
%{_libdir}/%{name}/libhbclipsm.a
%{_libdir}/%{name}/libhbziparc.a
%defattr(755,root,root,755)
%{_libdir}/%{name}/*.dll
######################################################################
## Spec file Changelog.
######################################################################
%changelog
* Thu Oct 23 2007 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
- initial release
#
# $Id$
#
# ---------------------------------------------------------------
# Copyright 2007 Przemyslaw Czerpak (druzus/at/priv.onet.pl),
# Harbour-MinGW cross build RPM spec file
#
# See doc/license.txt for licensing terms.
# ---------------------------------------------------------------
######################################################################
# Conditional build:
# --with mysql - build mysql lib
# --with pgsql - build pgsql lib
# --with gd - build gd lib
# --with allegro - build GTALLEG - Allegro based GT driver
# --with ads - build ADS RDD
# --with odbc - build odbc lib
# --without nf - do not build nanforum lib
######################################################################
######################################################################
## Definitions.
######################################################################
%define name harbour-win
%define version 1.1.0
%define releasen dev
%define hb_pref hbw
%define hb_ccpath /opt/xmingw/bin
%define hb_ccpref i386-mingw-
%define hb_host www.harbour-project.org
%define readme README.RPM
# Workaround for the problem of /usr/bin/strip not handling PE binaries.
%define __strip %{hb_ccpath}/%{hb_ccpref}strip
%define __objdump %{hb_ccpath}/%{hb_ccpref}objdump
######################################################################
## Preamble.
######################################################################
Summary: Free software Clipper compatible compiler
Summary(pl): Darmowy kompilator kompatybilny z jêzykiem Clipper.
Name: %{name}
Version: %{version}
Release: %{releasen}
License: GPL (plus exception)
Group: Development/Languages
Vendor: %{hb_host}
URL: http://%{hb_host}/
Source: harbour-%{version}.src.tar.gz
Packager: Przemys³aw Czerpak (druzus/at/priv.onet.pl)
BuildPrereq: gcc binutils bash
Requires: gcc binutils bash sh-utils harbour = %{?epoch:%{epoch}:}%{version}-%{release}
Provides: %{name}
BuildRoot: /tmp/%{name}-%{version}-root
%define _noautoreq 'libharbour.*'
%description
Harbour is a CA-Cl*pper compatible compiler for multiple platforms. This
package includes a compiler, pre-processor, header files, virtual machine
and libraries for creating MS-Windows application in Linux box using MinGW
GCC port.
%description -l pl
Harbour to kompatybilny z jêzykiem CA-Cl*pper kompilator rozwijany na
wielu ró¿nych platformach. Ten pakiet zawiera kompilator, preprocesor,
zbiory nag³ówkowe, wirtualn+ maszynê oraz biblioteki pozwalaj+ce na
tworzenie aplikacji dla MS-Windows przy u¿yciu MinGW GCC.
######################################################################
## Preperation.
######################################################################
%prep
%setup -c harbour
rm -fR $RPM_BUILD_ROOT
######################################################################
## Build.
######################################################################
%build
export HB_HOST_BUILD=yes
export HB_ARCHITECTURE=linux
export HB_COMPILER=gcc
export C_USR="-O2 -DHB_FM_STATISTICS_OFF"
make -r
export HB_HOST_BUILD=lib
export HB_ARCHITECTURE=win
export HB_COMPILER=mingw
mkdir -p source/pp/${HB_ARCHITECTURE}/${HB_COMPILER}
ln -s ../../linux/gcc/hbpp source/pp/${HB_ARCHITECTURE}/${HB_COMPILER}/hbpp.exe
mkdir -p source/main/${HB_ARCHITECTURE}/${HB_COMPILER}
ln -s ../../linux/gcc/harbour source/main/${HB_ARCHITECTURE}/${HB_COMPILER}/harbour.exe
export CC_C_USR=""
export C_USR="$CC_C_USR -O2 -DHB_FM_STATISTICS_OFF"
export CC_PRG_USR="-D__PLATFORM__WINDOWS -undef:__PLATFORM__UNIX -undef:__PLATFORM__LINUX"
export PRG_USR="$CC_PRG_USR"
export L_USR="${CC_L_USR}"
export CCPATH="%{hb_ccpath}:"
export CCPREFIX="%{hb_ccpref}"
export PATH="$CCPATH$PATH"
export HB_XBUILD=win
export HB_BIN_INSTALL=%{_bindir}
export HB_INC_INSTALL=%{_includedir}/%{name}
export HB_LIB_INSTALL=%{_libdir}/%{name}
export HB_CONTRIBLIBS="gtwvg hbbmcdx hbbtree hbclipsm hbct hbgt hbmisc hbmzip hbtip hbvpdf hbwin hbziparc rddado xhb %{!?_without_nf:hbnf} %{?_with_odbc:hbodbc} %{?_with_curl:hbcurl} %{?_with_ads:rddads} %{?_with_gd:hbgd} %{?_with_pgsql:hbpgsql} %{?_with_mysql:hbmysql} %{?_with_allegro:gtalleg}"
make -r
######################################################################
## Install.
######################################################################
%install
# Install harbour itself.
export CC_C_USR=""
export C_USR="$CC_C_USR -O2 -DHB_FM_STATISTICS_OFF"
export CC_PRG_USR="-D__PLATFORM__WINDOWS -undef:__PLATFORM__UNIX -undef:__PLATFORM__LINUX"
export PRG_USR="$CC_PRG_USR"
export L_USR="${CC_L_USR}"
export CCPATH="%{hb_ccpath}:"
export CCPREFIX="%{hb_ccpref}"
export PATH="$CCPATH$PATH"
export HB_HOST_BUILD=lib
export HB_ARCHITECTURE=win
export HB_COMPILER=mingw
export HB_XBUILD=win
export HB_BIN_INSTALL=%{_bindir}
export HB_INC_INSTALL=%{_includedir}/%{name}
export HB_LIB_INSTALL=%{_libdir}/%{name}
export HB_CONTRIBLIBS="gtwvg hbbmcdx hbbtree hbclipsm hbct hbgt hbmisc hbmzip hbtip hbvpdf hbwin hbziparc rddado xhb %{!?_without_nf:hbnf} %{?_with_odbc:hbodbc} %{?_with_curl:hbcurl} %{?_with_ads:rddads} %{?_with_gd:hbgd} %{?_with_pgsql:hbpgsql} %{?_with_mysql:hbmysql} %{?_with_allegro:gtalleg}"
export _DEFAULT_BIN_DIR=$HB_BIN_INSTALL
export _DEFAULT_INC_DIR=$HB_INC_INSTALL
export _DEFAULT_LIB_DIR=$HB_LIB_INSTALL
export HB_BIN_INSTALL=$RPM_BUILD_ROOT/$HB_BIN_INSTALL
export HB_INC_INSTALL=$RPM_BUILD_ROOT/$HB_INC_INSTALL
export HB_LIB_INSTALL=$RPM_BUILD_ROOT/$HB_LIB_INSTALL
export HB_TOOLS_PREF=%{hb_pref}
mkdir -p $HB_BIN_INSTALL
mkdir -p $HB_INC_INSTALL
mkdir -p $HB_LIB_INSTALL
make -r -i install
[ "%{?_with_odbc:1}" ] || rm -f $HB_LIB_INSTALL/libhbodbc.a
[ "%{?_with_allegro:1}" ] || rm -f $HB_LIB_INSTALL/libgtalleg.a
[ "%{?_with_ads:1}" ] || rm -f $HB_LIB_INSTALL/librddads.a
[ "%{?_without_nf:1}" ] && rm -f $HB_LIB_INSTALL/libhbnf.a
# Keep the size of the libraries to a minimim.
${CCPREFIX}strip --strip-debug $HB_LIB_INSTALL/*
# remove unused files
rm -fR ${HB_BIN_INSTALL}/{harbour,hbpp,hbdoc,hbmake,hbrun,hbi18n,hbtest}.exe
# Create a README file for people using this RPM.
cat > doc/%{readme} <<EOF
This RPM distribution of Harbour includes extra commands to make compiling
and linking with Harbour a little easier. There are compiler and linker
wrappers called "%{hb_pref}cc", "%{hb_pref}cmp", "%{hb_pref}lnk" and "%{hb_pref}mk".
"%{hb_pref}cc" is a wrapper to the C compiler only. It sets all flags
and paths necessary to compile .c files which include Harbour header
files. The result of its work is an object file.
Use "%{hb_pref}cmp" exactly as you would use the harbour compiler itself.
The main difference with %{hb_pref}cmp is that it results in an object file,
not a C file that needs compiling down to an object. %{hb_pref}cmp also
ensures that the harbour include directory is seen by the harbour compiler.
"%{hb_pref}lnk" simply takes a list of object files and links them together
with the harbour virtual machine and run-time library to produce an
executable. The executable will be given the basename of the first object
file if not directly set by the "-o" command line switch.
"%{hb_pref}mk" tries to produce an executable from your .prg file. It's a simple
equivalent of cl.bat from the CA-Cl*pper distribution.
All these scripts accept command line switches:
-o<outputfilename> # output file name
-static # link with static Harbour libs
-fullstatic # link with all static libs
-shared # link with shared libs (default)
-mt # link with multi-thread libs
-gt<hbgt> # link with <hbgt> GT driver, can be repeated to
# link with more GTs. The first one will be
# the default at runtime
-xbgtk # link with xbgtk library (xBase GTK+ interface)
-hwgui # link with HWGUI library (GTK+ interface)
-l<libname> # link with <libname> library
-L<libpath> # additional path to search for libraries
-fmstat # link with the memory statistics lib
-nofmstat # do not link with the memory statistics lib (default)
-[no]strip # strip (no strip) binaries
-main=<main_func> # set the name of main program function/procedure.
# if not set then 'MAIN' is used or if it doesn't
# exist the name of first public function/procedure
# in first linked object module (link)
Link options work only with "%{hb_pref}lnk" and "%{hb_pref}mk" and have no effect
in "%{hb_pref}cc" and "%{hb_pref}cmp".
Other options are passed to Harbour/C compiler/linker.
An example compile/link session looks like:
----------------------------------------------------------------------
druzus@uran:~/tmp$ cat foo.prg
function main()
? "Hello, World!"
return nil
druzus@uran:~/tmp$ %{hb_pref}cmp foo
Harbour 1.0.0 Intl. (Rev. 9099)
Copyright (c) 1999-2008, http://www.harbour-project.org/
Compiling 'foo.prg'...
Lines 5, Functions/Procedures 2
Generating C source output to 'foo.c'... Done.
druzus@uran:~/tmp$ %{hb_pref}lnk foo.o
druzus@uran:~/tmp$ ls -l foo
-rwxrwxr-x 1 druzus druzus 3824 maj 17 02:46 foo.exe
----------------------------------------------------------------------
or using %{hb_pref}mk only:
----------------------------------------------------------------------
druzus@uran:~/tmp$ cat foo.prg
function main()
? "Hello, World!"
return nil
druzus@uran:~/tmp$ %{hb_pref}mk foo
Harbour 1.0.0 Intl. (Rev. 9099)
Copyright (c) 1999-2008, http://www.harbour-project.org/
Compiling 'foo.prg'...
Lines 5, Functions/Procedures 2
Generating C source output to 'foo.c'... Done.
druzus@uran:~/tmp$ ls -l foo
-rwxrwxr-x 1 druzus druzus 3824 maj 17 02:46 foo.exe
----------------------------------------------------------------------
I hope this RPM is useful. Have fun with Harbour.
Przemyslaw Czerpak (druzus/at/priv.onet.pl)
EOF
######################################################################
## Post install
######################################################################
#%post lib
#/sbin/ldconfig
######################################################################
## Post uninstall
######################################################################
#%postun lib
#/sbin/ldconfig
######################################################################
## Clean.
######################################################################
%clean
rm -fR $RPM_BUILD_ROOT
######################################################################
## File list.
######################################################################
%files
%defattr(-,root,root,755)
%doc doc/%{readme}
%{_bindir}/%{hb_pref}-mkslib
%{_bindir}/%{hb_pref}-build
%{_bindir}/%{hb_pref}cc
%{_bindir}/%{hb_pref}cmp
%{_bindir}/%{hb_pref}lnk
%{_bindir}/%{hb_pref}mk
%defattr(644,root,root,755)
%dir %{_includedir}/%{name}
%{_includedir}/%{name}/*
%dir %{_libdir}/%{name}
%{_libdir}/%{name}/libhbcpage.a
%{_libdir}/%{name}/libhbcommon.a
%{_libdir}/%{name}/libhbcplr.a
%{_libdir}/%{name}/libhbdebug.a
%{_libdir}/%{name}/libhbfm.a
%{_libdir}/%{name}/libhbfmmt.a
%{_libdir}/%{name}/librddfpt.a
%{_libdir}/%{name}/librddcdx.a
%{_libdir}/%{name}/librddntx.a
%{_libdir}/%{name}/librddnsx.a
%{_libdir}/%{name}/libgt*.a
%{_libdir}/%{name}/libhblang.a
%{_libdir}/%{name}/libhbmacro.a
%{_libdir}/%{name}/libhbpcre.a
%{_libdir}/%{name}/libhbzlib.a
%{_libdir}/%{name}/libhbextern.a
%{_libdir}/%{name}/libhbnulrdd.a
%{_libdir}/%{name}/libhbpp.a
%{_libdir}/%{name}/libhbrdd.a
%{_libdir}/%{name}/libhbhsx.a
%{_libdir}/%{name}/libhbsix.a
%{_libdir}/%{name}/libhbrtl.a
%{_libdir}/%{name}/libhbvm.a
%{_libdir}/%{name}/libhbvmmt.a
%{_libdir}/%{name}/libhbmainstd.a
%{_libdir}/%{name}/libhbusrrdd.a
%{_libdir}/%{name}/libhbuddall.a
%{!?_without_nf: %{_libdir}/%{name}/libhbnf.a}
%{?_with_ads: %{_libdir}/%{name}/librddads.a}
%{?_with_odbc: %{_libdir}/%{name}/libhbodbc.a}
%{?_with_mysql: %{_libdir}/%{name}/libhbmysql.a}
%{?_with_pgsql: %{_libdir}/%{name}/libhbpgsql.a}
%{?_with_gd: %{_libdir}/%{name}/libhbgd.a}
%{_libdir}/%{name}/libhbbtree.a
%{_libdir}/%{name}/libhbmisc.a
%{_libdir}/%{name}/libhbmzip.a
%{_libdir}/%{name}/libhbct.a
%{_libdir}/%{name}/libhbtip.a
%{_libdir}/%{name}/libxhb.a
%{_libdir}/%{name}/librddado.a
%{_libdir}/%{name}/libhbwin.a
%{_libdir}/%{name}/libhbvpdf.a
%{_libdir}/%{name}/libhbgt.a
%{_libdir}/%{name}/libhbbmcdx.a
%{_libdir}/%{name}/libhbclipsm.a
%{_libdir}/%{name}/libhbziparc.a
%defattr(755,root,root,755)
%{_libdir}/%{name}/*.dll
######################################################################
## Spec file Changelog.
######################################################################
%changelog
* Thu Oct 23 2007 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
- initial release

View File

@@ -47,7 +47,7 @@
#**********************************************************
HB_ARCHITECTURE = w32
HB_ARCHITECTURE = win
#**********************************************************

View File

@@ -81,8 +81,8 @@ endif
# *before* common.cf is included
OBJEXT=.o
EXEEXT=$(if $(findstring $(HB_ARCHITECTURE),w32 dos os2),.exe)
DLLEXT=$(if $(findstring $(HB_ARCHITECTURE),w32 dos os2),.dll,.so)
EXEEXT=$(if $(findstring $(HB_ARCHITECTURE),win dos os2),.exe)
DLLEXT=$(if $(findstring $(HB_ARCHITECTURE),win dos os2),.dll,.so)
LIBEXT=.a
LIBPREF=lib
@@ -103,7 +103,7 @@ include common.cf
# building CONSOLE programs. Otherwise we're building
# GUI programs without console. Please note IT IS A
# DIRTY HACK and any better solution is HIGHLY WELCOME
ifneq ($(findstring $(HB_ARCHITECTURE),w32 os2),)
ifneq ($(findstring $(HB_ARCHITECTURE),win os2),)
MAIN_LIB = $(LIB_DIR)/$(LIBPREF)hbmainstd$(LIBEXT)
MAIN_LIB_OBJS = $(OBJ_DIR)/mainstd$(OBJEXT)
@@ -141,7 +141,7 @@ endif
# DLLs on Windows require IMPORT lib
# and an additional compiler phase
ifneq ($(findstring $(HB_ARCHITECTURE),w32),)
ifneq ($(findstring $(HB_ARCHITECTURE),win),)
HB_DLL_IMPLIB := $(HARBOUR_DLL:%$(DLLEXT)=%$(LIBEXT))
HB_IMPLIB_PART := -Wl,--out-implib,$(HB_DLL_IMPLIB)
HB_DLL_IMPLIBMT := $(HARBOURMT_DLL:%$(DLLEXT)=%$(LIBEXT))
@@ -156,7 +156,7 @@ CFLAGS := -W -Wall -I$(INCLUDE_DIR) $(C_USR) -I$(OBJ_DIR)
CFLAGSMT := -DHB_MT_VM
#-----------
ifneq ($(HB_BUILD_OPTIM),no)
ifeq ($(HB_ARCHITECTURE),w32)
ifeq ($(HB_ARCHITECTURE),win)
CFLAGS := -march=i586 $(CFLAGS)
endif
CFLAGS := -O3 $(CFLAGS)
@@ -172,7 +172,7 @@ CEXEFLAGSDLL := $(CFLAGS)
# Under architectures other than "DOS based" add -fPIC
# to gcc compiler flags for compiling shared libraries
ifeq ($(findstring $(HB_ARCHITECTURE),w32 os2),)
ifeq ($(findstring $(HB_ARCHITECTURE),win os2),)
ifeq ($(findstring -fPIC,$(CLIBFLAGSDLL)),)
CLIBFLAGSDLL := -fPIC $(CLIBFLAGSDLL)
endif
@@ -326,7 +326,7 @@ $(VM_LIB) : $(VM_LIB_OBJS)
$(VMMT_LIB) : $(VMMT_LIB_OBJS)
$(MKLIB) $(ARFLAGS) $@ $^
#**********************************************************
ifneq ($(findstring $(HB_ARCHITECTURE),w32 os2),)
ifneq ($(findstring $(HB_ARCHITECTURE),win os2),)
$(MAIN_LIB) : $(MAIN_LIB_OBJS)
$(MKLIB) $(ARFLAGS) $@ $^
endif

View File

@@ -9,9 +9,9 @@
# ---------------------------------------------------------------
# Compatibility. Please use 'win'.
if [ "$HB_ARCHITECTURE" == "win" ]
if [ "$HB_ARCHITECTURE" == "w32" ]
then
export HB_ARCHITECTURE=w32
export HB_ARCHITECTURE=win
fi
if [ -z "$HB_ARCHITECTURE" ]; then
@@ -20,7 +20,7 @@ if [ -z "$HB_ARCHITECTURE" ]; then
else
hb_arch=`uname -s | tr -d "[-]" | tr '[A-Z]' '[a-z]' 2>/dev/null`
case "$hb_arch" in
*windows*|*mingw32*|msys*) hb_arch="w32" ;;
*windows*|*mingw32*|msys*) hb_arch="win" ;;
*cygwin*) hb_arch="cyg" ;;
*os/2*) hb_arch="os2" ;;
*dos) hb_arch="dos" ;;
@@ -32,7 +32,7 @@ fi
if [ -z "$HB_CC_NAME" ]; then
case "$HB_ARCHITECTURE" in
w32) HB_CC_NAME="mingw" ;;
win) HB_CC_NAME="mingw" ;;
dos) HB_CC_NAME="djgpp" ;;
*) HB_CC_NAME="gcc" ;;
esac
@@ -74,7 +74,7 @@ OS_LIBS="-lm"
GT_LIST="TRM"
case "$HB_ARCHITECTURE" in
w32) GT_LIST="WIN WVT GUI"
win) GT_LIST="WIN WVT GUI"
OS_LIBS="-luser32 -lwinspool -lwsock32 -lgdi32"
;;
cyg) GT_LIST="${GT_LIST} WIN WVT GUI"
@@ -174,11 +174,11 @@ mkdir -p obj/$HB_CC_NAME/mt obj/$HB_CC_NAME/mt_dll obj/$HB_CC_NAME/dll \
# Convert common.mak (for BCC/VC) to common.cf (GCC)
# Revert Cygwin architecture to w32.
# Revert Cygwin architecture to 'win'.
# After all it's under Windows OS.
if [ "$HB_ARCHITECTURE" == "cyg" ]
then
export HB_ARCHITECTURE=w32
export HB_ARCHITECTURE=win
fi
sed -e 's/;/ /g' \

View File

@@ -1,13 +1,13 @@
@echo off
rem
rem
rem $Id$
rem
rem
rem ---------------------------------------------------------------
rem This is a generic template file, if it doesn't fit your own needs
rem This is a generic template file, if it doesn't fit your own needs
rem please DON'T MODIFY IT.
rem
rem Instead, make a local copy and modify that one, or make a call to
rem Instead, make a local copy and modify that one, or make a call to
rem this batch file from your customized one. [vszakats]
rem ---------------------------------------------------------------
@@ -22,11 +22,11 @@ rem Copyright 1999-2001 Viktor Szakats (viktor.szakats@syenar.hu)
rem See doc/license.txt for licensing terms.
rem ---------------------------------------------------------------
if "%HB_ARCHITECTURE%" == "" set HB_ARCHITECTURE=w32
if "%HB_ARCHITECTURE%" == "" set HB_ARCHITECTURE=win
if "%HB_COMPILER%" == "" set HB_COMPILER=mingw
rem set PRG_USR=
rem set C_USR=
rem set PRG_USR=
rem set C_USR=
rem set L_USR=
rem Set to constant value to be consistent with the non-GNU make files.
@@ -58,23 +58,23 @@ if "%HB_INC_INSTALL%" == "" set HB_INC_INSTALL=%HB_INSTALL_PREFIX%/include
echo The following values are currently supported:
echo.
echo HB_ARCHITECTURE:
echo - dos
echo - w32
echo - dos
echo - win
echo - linux
echo - os2
echo.
pause
echo - os2
echo.
pause
echo HB_COMPILER:
echo - When HB_ARCHITECTURE=dos
echo - bcc16 (Borland C++ 3.x, 4.x, 5.0x, DOS 16-bit)
echo - djgpp (Delorie GNU C, DOS 32-bit)
echo - rxs32 (EMX/RSXNT/DOS GNU C, DOS 32-bit)
echo - watcom (Watcom C++ 9.x, 10.x, 11.x, DOS 32-bit)
echo - When HB_ARCHITECTURE=w32
echo - When HB_ARCHITECTURE=win
echo - bcc32 (Borland C++ 4.x, 5.x, Windows 32-bit)
echo - gcc (Cygnus/Cygwin GNU C, Windows 32-bit)
echo - mingw (MinGW GNU C, Windows 32-bit)
echo - rxsnt (EMX/RSXNT/Win32 GNU C, Windows 32-bit)
echo - rxsnt (EMX/RSXNT/Windows GNU C, Windows 32-bit)
echo - icc (IBM Visual Age C++, Windows 32-bit)
echo - msvc (Microsoft Visual C++, Windows 32-bit)
echo - When HB_ARCHITECTURE=linux
@@ -82,7 +82,7 @@ if "%HB_INC_INSTALL%" == "" set HB_INC_INSTALL=%HB_INSTALL_PREFIX%/include
echo - When HB_ARCHITECTURE=os2
echo - gcc (EMX GNU C, OS/2 32-bit)
echo - icc (IBM Visual Age C++ 3.0, OS/2 32-bit)
echo.
echo.
echo - Use these optional envvars to configure the make process
echo when using the 'all' command:
echo.

View File

@@ -16,9 +16,9 @@
# ---------------------------------------------------------------
# Compatibility. Please use 'win'.
if [ "$HB_ARCHITECTURE" == "win" ]
if [ "$HB_ARCHITECTURE" == "w32" ]
then
export HB_ARCHITECTURE=w32
export HB_ARCHITECTURE=win
fi
if [ -z "$HB_ARCHITECTURE" ]; then
@@ -27,7 +27,7 @@ if [ -z "$HB_ARCHITECTURE" ]; then
else
hb_arch=`uname -s | tr -d "[-]" | tr '[A-Z]' '[a-z]' 2>/dev/null`
case "$hb_arch" in
*windows*|*mingw32*|msys*) hb_arch="w32" ;;
*windows*|*mingw32*|msys*) hb_arch="win" ;;
*os/2*) hb_arch="os2" ;;
*dos) hb_arch="dos" ;;
*bsd) hb_arch="bsd" ;;
@@ -38,7 +38,7 @@ fi
if [ -z "$HB_COMPILER" ]; then
case "$HB_ARCHITECTURE" in
w32) HB_COMPILER="mingw" ;;
win) HB_COMPILER="mingw" ;;
dos) HB_COMPILER="djgpp" ;;
*) HB_COMPILER="gcc" ;;
esac
@@ -162,7 +162,7 @@ if [ -z "$HB_ARCHITECTURE" ] || [ -z "$HB_COMPILER" ]; then
echo
echo " HB_ARCHITECTURE:"
echo " - dos"
echo " - w32"
echo " - win"
echo " - os2"
echo " - linux"
echo " - bsd"
@@ -177,7 +177,7 @@ if [ -z "$HB_ARCHITECTURE" ] || [ -z "$HB_COMPILER" ]; then
echo " - djgpp (Delorie GNU C, DOS 32-bit)"
echo " - rsx32 (EMX/RSXNT/DOS GNU C, DOS 32-bit)"
echo " - owatcom (Watcom C++ 9.x, 10.x, 11.x, DOS 32-bit)"
echo " - When HB_ARCHITECTURE=w32"
echo " - When HB_ARCHITECTURE=win"
echo " - bcc32 (Borland C++ 4.x, 5.x, Windows 32-bit)"
echo " - gcc (Cygnus/Cygwin GNU C, Windows 32-bit)"
echo " - mingw (MinGW GNU C, Windows 32-bit)"

View File

@@ -17,7 +17,7 @@ UNAME=`uname`
UNAMEL=`echo "$UNAME"|tr A-Z a-z`
UNAMEU=`echo "$UNAME"|tr a-z A-Z`
export HB_ARCHITECTURE=w32
export HB_ARCHITECTURE=win
export HB_COMPILER=mingw
if [ "$OSTYPE" = "msdosdjgpp" ]; then
@@ -27,14 +27,14 @@ else
HB_HOST_ARCH="${UNAMEL}"
HB_HOST_CC="gcc"
case "$HB_HOST_ARCH" in
*windows*|*mingw32*|msys*) HB_HOST_ARCH="w32"; HB_HOST_CC="mingw" ;;
*windows*|*mingw32*|msys*) HB_HOST_ARCH="win"; HB_HOST_CC="mingw" ;;
*dos) HB_HOST_ARCH="dos" ;;
*bsd) HB_HOST_ARCH="bsd" ;;
esac
fi
CC_PRG_USR=""
if [ "$HB_HOST_ARCH" != "w32" ]; then
if [ "$HB_HOST_ARCH" != "win" ]; then
CC_PRG_USR="-D__PLATFORM__WINDOWS -undef:__PLATFORM__UNIX -undef:__PLATFORM__$UNAMEU"
fi
@@ -108,7 +108,7 @@ PATH="$CCPATH$PATH"
export PATH CCPATH CCPREFIX
export HB_TOOLS_PREF="hbw"
export HB_XBUILD="w32"
export HB_XBUILD="win"
[ "${HB_HOST_BUILD}" = "all" ] || export HB_HOST_BUILD="lib"
export HB_BIN_COMPILE="/tmp/hb-xmingw-$$"

View File

@@ -17,7 +17,7 @@ UNAME=`uname`
UNAMEL=`echo "$UNAME"|tr A-Z a-z`
UNAMEU=`echo "$UNAME"|tr a-z A-Z`
export HB_ARCHITECTURE=w32
export HB_ARCHITECTURE=win
export HB_COMPILER=mingwce
if [ "$OSTYPE" = "msdosdjgpp" ]; then
@@ -27,14 +27,14 @@ else
HB_HOST_ARCH="${UNAMEL}"
HB_HOST_CC="gcc"
case "$HB_HOST_ARCH" in
*windows*|*mingw32*|msys*) HB_HOST_ARCH="w32"; HB_HOST_CC="mingw" ;;
*windows*|*mingw32*|msys*) HB_HOST_ARCH="win"; HB_HOST_CC="mingw" ;;
*dos) HB_HOST_ARCH="dos" ;;
*bsd) HB_HOST_ARCH="bsd" ;;
esac
fi
CC_PRG_USR="-D__PLATFORM__WINCE"
if [ "$HB_HOST_ARCH" != "w32" ]; then
if [ "$HB_HOST_ARCH" != "win" ]; then
CC_PRG_USR="$CC_PRG_USR -D__PLATFORM__WINDOWS -undef:__PLATFORM__UNIX -undef:__PLATFORM__$UNAMEU"
fi

View File

@@ -46,7 +46,7 @@
#**********************************************************
HB_ARCHITECTURE = w32
HB_ARCHITECTURE = win
#**********************************************************

View File

@@ -42,7 +42,7 @@ if [ -z "$HB_ARCHITECTURE" ]; then
else
hb_arch=`uname -s | tr -d "[-]" | tr '[A-Z]' '[a-z]' 2>/dev/null`
case "$hb_arch" in
*windows*|*mingw32*|msys*) hb_arch="w32" ;;
*windows*|*mingw32*|msys*) hb_arch="win" ;;
*os/2*) hb_arch="os2" ;;
*dos) hb_arch="dos" ;;
*bsd) hb_arch="bsd" ;;
@@ -53,7 +53,7 @@ fi
if [ -z "$HB_COMPILER" ]; then
case "$HB_ARCHITECTURE" in
w32) HB_COMPILER="mingw" ;;
win) HB_COMPILER="mingw" ;;
dos) HB_COMPILER="djgpp" ;;
*) HB_COMPILER="gcc" ;;
esac
@@ -103,7 +103,7 @@ case "$HB_ARCHITECTURE" in
[ -d "$HB_INSTALL_PREFIX/lib64" ] && [ "${HB_ARCH64}" = yes ] && HB_LIBDIRNAME="lib64"
HB_INSTALL_GROUP=root
;;
w32)
win)
[ -z "$HB_INSTALL_PREFIX" ] && HB_INSTALL_PREFIX="/usr/local"
HB_INSTALL_GROUP=0
hb_sysdir="no"
@@ -179,7 +179,7 @@ case "$HB_ARCHITECTURE" in
fi
[ -z "$HB_WITHOUT_X11" ] && export HB_WITHOUT_X11=yes
;;
dos|w32)
dos|win)
[ -z "$HB_WITHOUT_X11" ] && export HB_WITHOUT_X11=yes
;;
*)
@@ -263,10 +263,10 @@ if [ "${hb_lnkso}" = yes ]
then
case $HB_ARCHITECTURE in
darwin) ADD_LIBS="$ADD_LIBS -lncurses -L/opt/local/lib -L/sw/lib" ;;
dos|w32) ADD_LIBS="" ;;
dos|win) ADD_LIBS="" ;;
sunos) ADD_LIBS="$ADD_LIBS -lcurses" ;;
*) ADD_LIBS="$ADD_LIBS -lncurses" ;;
esac
esac
[ "${HB_GPM_MOUSE}" = yes ] && ADD_LIBS="$ADD_LIBS -lgpm"
[ "${HB_WITHOUT_GTSLN}" != yes ] && ADD_LIBS="$ADD_LIBS -lslang"
[ "${HB_WITHOUT_X11}" != yes ] && ADD_LIBS="$ADD_LIBS -L/usr/X11R6/$HB_LIBDIRNAME -lX11"

View File

@@ -4,7 +4,7 @@
ROOT = ../../
ifeq ($(HB_ARCHITECTURE),w32)
ifeq ($(HB_ARCHITECTURE),win)
ifeq ($(HB_COMPILER),mingw)
C_MAIN = mainwin.c
DIRS = mainstd

View File

@@ -7,7 +7,7 @@ vpath %.prg ../
ROOT = ../../../
ifeq ($(HB_ARCHITECTURE),w32)
ifeq ($(HB_ARCHITECTURE),win)
ifeq ($(HB_COMPILER),mingw)
C_MAIN = mainwin.c
else