From 2765ec9696e838db219ca95cfe598a8580afb7ac Mon Sep 17 00:00:00 2001 From: Przemyslaw Czerpak Date: Mon, 6 Apr 2009 13:35:09 +0000 Subject: [PATCH] 2009-04-06 15:41 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/source/compiler/hbmain.c * harbour/source/compiler/hbcomp.c ! fixed ignored -es2 compiler flag when warning is caused by startup parameters * harbour/source/compiler/harbour.yyc * harbour/source/compiler/harbour.y * pacified warning * harbour/harbour.spec ! fixed doc/en directory name to doc/en-EN * harbour/source/vm/Makefile + harbour/source/vm/maindllh + harbour/source/vm/maindllh/Makefile + added hbmaindllh library - it's necessary for some compiler to create working harbour.dll, f.e. in OpenWatcom builds. Please updated harbour.dll build scripts to use this library with such compilers. MinGW based compilers do not need it. * harbour/source/vm/Makefile ! fixed typo which broke wce builds * harbour/source/vm/Makefile * harbour/harbour-wce-spec * harbour/harbour.spec + added mainstd mainwin maindllh maindllp to all win and wce builds * harbour/harbour-win-spec * harbour/harbour-wce-spec * harbour/harbour.spec + added support for parallel compilation (-j make flags) in RPMs which supports %{_smp_mflags} macro ! temporary fix: disabled harbour external libraries. I do not know what should be the final version. ; WCE builds are still broken due to repeated macro definitions but I'm lost with the new build time parameters and I do not know how to fix it without breaking hbce* scripts or bad introduce some interactions to other build/install time scripts so it will have to be fixed by Viktor. --- harbour/ChangeLog | 42 +++++++++++++++++++++++++++++ harbour/harbour-wce-spec | 10 ++++--- harbour/harbour-win-spec | 11 +++++--- harbour/harbour.spec | 12 +++++---- harbour/source/compiler/harbour.y | 2 +- harbour/source/compiler/harbour.yyc | 2 +- harbour/source/compiler/hbcomp.c | 1 + harbour/source/compiler/hbmain.c | 4 --- harbour/source/vm/Makefile | 9 +++---- harbour/source/vm/maindllh/Makefile | 17 ++++++++++++ 10 files changed, 87 insertions(+), 23 deletions(-) create mode 100644 harbour/source/vm/maindllh/Makefile diff --git a/harbour/ChangeLog b/harbour/ChangeLog index 392d35e59e..05b3f7576d 100644 --- a/harbour/ChangeLog +++ b/harbour/ChangeLog @@ -8,6 +8,48 @@ 2009-12-31 13:59 UTC+0100 Foo Bar (foo.bar foobar.org) */ +2009-04-06 15:41 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) + * harbour/source/compiler/hbmain.c + * harbour/source/compiler/hbcomp.c + ! fixed ignored -es2 compiler flag when warning is caused by startup + parameters + + * harbour/source/compiler/harbour.yyc + * harbour/source/compiler/harbour.y + * pacified warning + + * harbour/harbour.spec + ! fixed doc/en directory name to doc/en-EN + + * harbour/source/vm/Makefile + + harbour/source/vm/maindllh + + harbour/source/vm/maindllh/Makefile + + added hbmaindllh library - it's necessary for some compiler to create + working harbour.dll, f.e. in OpenWatcom builds. Please updated + harbour.dll build scripts to use this library with such compilers. + MinGW based compilers do not need it. + + * harbour/source/vm/Makefile + ! fixed typo which broke wce builds + + * harbour/source/vm/Makefile + * harbour/harbour-wce-spec + * harbour/harbour.spec + + added mainstd mainwin maindllh maindllp to all win and wce builds + + * harbour/harbour-win-spec + * harbour/harbour-wce-spec + * harbour/harbour.spec + + added support for parallel compilation (-j make flags) in RPMs + which supports %{_smp_mflags} macro + ! temporary fix: disabled harbour external libraries. + I do not know what should be the final version. + ; WCE builds are still broken due to repeated macro definitions + but I'm lost with the new build time parameters and I do not + know how to fix it without breaking hbce* scripts or bad introduce + some interactions to other build/install time scripts so it will + have to be fixed by Viktor. + 2009-04-06 14:33 UTC+0200 Viktor Szakats (harbour.01 syenar hu) * contrib/hbole/Makefile * contrib/hbole/olecore.c diff --git a/harbour/harbour-wce-spec b/harbour/harbour-wce-spec index 39b7ec5840..b3381614e1 100644 --- a/harbour/harbour-wce-spec +++ b/harbour/harbour-wce-spec @@ -90,7 +90,7 @@ export HB_HOST_BUILD=yes export HB_ARCHITECTURE=linux export HB_COMPILER=gcc export HB_USER_CFLAGS="-DHB_FM_STATISTICS_OFF" -make +make %{?_smp_mflags} export HB_HOST_BUILD=lib export HB_ARCHITECTURE=wce @@ -116,8 +116,9 @@ 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 HB_EXTERNALLIBS=no -make +make %{?_smp_mflags} ###################################################################### ## Install. @@ -145,6 +146,7 @@ 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 HB_EXTERNALLIBS=no export _DEFAULT_BIN_DIR=$HB_BIN_INSTALL export _DEFAULT_INC_DIR=$HB_INC_INSTALL @@ -158,7 +160,7 @@ mkdir -p $HB_BIN_INSTALL mkdir -p $HB_INC_INSTALL mkdir -p $HB_LIB_INSTALL -make -i install +make -i install %{?_smp_mflags} [ "%{?_with_odbc:1}" ] || rm -f $HB_LIB_INSTALL/libhbodbc.a [ "%{?_with_allegro:1}" ] || rm -f $HB_LIB_INSTALL/libgtalleg.a @@ -328,6 +330,8 @@ rm -fR $RPM_BUILD_ROOT %{_libdir}/%{name}/libhbvmmt.a %{_libdir}/%{name}/libhbmainstd.a %{_libdir}/%{name}/libhbmainwin.a +%{_libdir}/%{name}/libhbmaindllp.a +%{_libdir}/%{name}/libhbmaindllh.a %{_libdir}/%{name}/libhbusrrdd.a %{_libdir}/%{name}/libhbuddall.a diff --git a/harbour/harbour-win-spec b/harbour/harbour-win-spec index f81da81387..f0843de935 100644 --- a/harbour/harbour-win-spec +++ b/harbour/harbour-win-spec @@ -90,7 +90,7 @@ export HB_HOST_BUILD=yes export HB_ARCHITECTURE=linux export HB_COMPILER=gcc export HB_USER_CFLAGS="-DHB_FM_STATISTICS_OFF" -make +make %{?_smp_mflags} export HB_HOST_BUILD=lib export HB_ARCHITECTURE=win @@ -116,8 +116,9 @@ 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 HB_EXTERNALLIBS=no -make +make %{?_smp_mflags} ###################################################################### ## Install. @@ -145,6 +146,7 @@ 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 HB_EXTERNALLIBS=no export _DEFAULT_BIN_DIR=$HB_BIN_INSTALL export _DEFAULT_INC_DIR=$HB_INC_INSTALL @@ -158,7 +160,7 @@ mkdir -p $HB_BIN_INSTALL mkdir -p $HB_INC_INSTALL mkdir -p $HB_LIB_INSTALL -make -i install +make -i install %{?_smp_mflags} [ "%{?_with_odbc:1}" ] || rm -f $HB_LIB_INSTALL/libhbodbc.a [ "%{?_with_allegro:1}" ] || rm -f $HB_LIB_INSTALL/libgtalleg.a @@ -327,6 +329,9 @@ rm -fR $RPM_BUILD_ROOT %{_libdir}/%{name}/libhbvm.a %{_libdir}/%{name}/libhbvmmt.a %{_libdir}/%{name}/libhbmainstd.a +%{_libdir}/%{name}/libhbmainwin.a +%{_libdir}/%{name}/libhbmaindllp.a +%{_libdir}/%{name}/libhbmaindllh.a %{_libdir}/%{name}/libhbusrrdd.a %{_libdir}/%{name}/libhbuddall.a diff --git a/harbour/harbour.spec b/harbour/harbour.spec index de5245603b..f128a0add2 100644 --- a/harbour/harbour.spec +++ b/harbour/harbour.spec @@ -81,8 +81,9 @@ %define hb_idir export HB_INC_INSTALL=%{_includedir}/%{name} %define hb_ldir export HB_LIB_INSTALL=%{_libdir}/%{name} %define hb_cmrc export HB_COMMERCE=%{?_without_gpllib:yes} -%define hb_ctrb export HB_CONTRIBLIBS="hbbmcdx hbbtree hbclipsm hbct hbgt hbmisc hbmsql hbmzip hbsqlit3 hbtip hbtpathy hbvpdf hbziparc xhb rddsql %{!?_without_nf:hbnf} %{?_with_odbc:hbodbc} %{?_with_curl:hbcurl} %{?_with_libharu:hbhpdf} %{?_with_ads:rddads} %{?_with_gd:hbgd} %{?_with_pgsql:hbpgsql} %{?_with_mysql:hbmysql} %{?_with_fbsql:hbfbird} %{?_with_allegro:gtalleg}" -%define hb_env %{hb_arch} ; %{hb_cc} ; %{hb_cflag} ; %{hb_lflag} ; %{hb_gpm} ; %{hb_crs} ; %{hb_sln} ; %{hb_x11} ; %{hb_bdir} ; %{hb_idir} ; %{hb_ldir} ; %{hb_ctrb} ; %{hb_cmrc} +%define hb_ctrb export HB_CONTRIBLIBS="hbbmcdx hbbtree hbclipsm hbct hbgt hbmisc hbmsql hbmzip hbsqlit3 hbtip hbtpathy hbhpdf hbvpdf hbziparc xhb rddsql %{!?_without_nf:hbnf} %{?_with_odbc:hbodbc} %{?_with_curl:hbcurl} %{?_with_libharu:hbhpdf} %{?_with_ads:rddads} %{?_with_gd:hbgd} %{?_with_pgsql:hbpgsql} %{?_with_mysql:hbmysql} %{?_with_fbsql:hbfbird} %{?_with_allegro:gtalleg}" +%define hb_extrn export HB_EXTERNALLIBS=no +%define hb_env %{hb_arch} ; %{hb_cc} ; %{hb_cflag} ; %{hb_lflag} ; %{hb_gpm} ; %{hb_crs} ; %{hb_sln} ; %{hb_x11} ; %{hb_bdir} ; %{hb_idir} ; %{hb_ldir} ; %{hb_ctrb} ; %{hb_extrn} ; %{hb_cmrc} %define hb_host www.harbour-project.org %define readme README.RPM ###################################################################### @@ -384,7 +385,7 @@ case "`uname -m`" in ;; esac -make +make %{?_smp_mflags} ###################################################################### ## Install. @@ -412,7 +413,7 @@ mkdir -p $HB_BIN_INSTALL mkdir -p $HB_INC_INSTALL mkdir -p $HB_LIB_INSTALL -make -i install +make -i install %{?_smp_mflags} [ "%{?_with_allegro:1}" ] || rm -f $HB_LIB_INSTALL/libgtalleg.a [ "%{?_without_gtcrs:1}" ] && rm -f $HB_LIB_INSTALL/libgtcrs.a @@ -598,7 +599,7 @@ rm -rf $RPM_BUILD_ROOT %doc ChangeLog* %doc doc/*.txt %doc doc/%{readme} -%doc doc/en/ +%doc doc/en-EN/ %dir /etc/harbour %verify(not md5 mtime) %config /etc/harbour.cfg @@ -662,6 +663,7 @@ rm -rf $RPM_BUILD_ROOT %{_libdir}/%{name}/libhbtip.a %{_libdir}/%{name}/libxhb.a %{_libdir}/%{name}/libhbvpdf.a +%{_libdir}/%{name}/libhbhpdf.a %{_libdir}/%{name}/libhbgt.a %{_libdir}/%{name}/libhbbmcdx.a %{_libdir}/%{name}/libhbclipsm.a diff --git a/harbour/source/compiler/harbour.y b/harbour/source/compiler/harbour.y index 1b4e3f8778..f47a682e0a 100644 --- a/harbour/source/compiler/harbour.y +++ b/harbour/source/compiler/harbour.y @@ -568,7 +568,7 @@ NumValue : NUM_DOUBLE { $$ = hb_compExprNewDouble( $1.dNumber, $1.bWidth | NUM_LONG { $$ = hb_compExprNewLong( $1.lNumber, HB_COMP_PARAM ); } ; -DateValue : NUM_DATE { $$ = hb_compExprNewDate( $1.lNumber, HB_COMP_PARAM ); } +DateValue : NUM_DATE { $$ = hb_compExprNewDate( ( LONG ) $1.lNumber, HB_COMP_PARAM ); } ; TimeStampValue : TIMESTAMP { $$ = hb_compExprNewTimeStamp( $1.date, $1.time, HB_COMP_PARAM ); } diff --git a/harbour/source/compiler/harbour.yyc b/harbour/source/compiler/harbour.yyc index 1eb464c2f7..4b12bce134 100644 --- a/harbour/source/compiler/harbour.yyc +++ b/harbour/source/compiler/harbour.yyc @@ -4905,7 +4905,7 @@ yyreduce: case 141: #line 571 "harbour.y" - { (yyval.asExpr) = hb_compExprNewDate( (yyvsp[(1) - (1)].valLong).lNumber, HB_COMP_PARAM ); ;} + { (yyval.asExpr) = hb_compExprNewDate( ( LONG ) (yyvsp[(1) - (1)].valLong).lNumber, HB_COMP_PARAM ); ;} break; case 142: diff --git a/harbour/source/compiler/hbcomp.c b/harbour/source/compiler/hbcomp.c index 68222e322b..e2292c79eb 100644 --- a/harbour/source/compiler/hbcomp.c +++ b/harbour/source/compiler/hbcomp.c @@ -235,6 +235,7 @@ HB_COMP_PTR hb_comp_new( void ) pComp->iStartProc = 0; /* no implicit starting procedure */ pComp->iWarnings = 0; /* enable parse warnings */ + pComp->iErrorCount = 0; /* number of compile errors */ pComp->iGenCOutput= HB_COMPGENC_COMPACT; /* C code generation default mode */ pComp->iExitLevel = HB_EXITLEVEL_DEFAULT; /* holds if there was any warning during the compilation process */ diff --git a/harbour/source/compiler/hbmain.c b/harbour/source/compiler/hbmain.c index 4684933ca1..67158d645a 100644 --- a/harbour/source/compiler/hbmain.c +++ b/harbour/source/compiler/hbmain.c @@ -3720,9 +3720,7 @@ static void hb_compInitVars( HB_COMP_DECL ) HB_COMP_PARAM->symbols.pLast = NULL; HB_COMP_PARAM->pInitFunc = NULL; HB_COMP_PARAM->pLineFunc = NULL; - HB_COMP_PARAM->fAnyWarning = FALSE; - HB_COMP_PARAM->iErrorCount = 0; HB_COMP_PARAM->lastLinePos = 0; HB_COMP_PARAM->iStaticCnt = 0; HB_COMP_PARAM->iVarScope = VS_LOCAL; @@ -4324,12 +4322,10 @@ static int hb_compAutoOpen( HB_COMP_DECL, const char * szPrg, BOOL * pbSkipGen, if( !HB_COMP_PARAM->fExit ) { int i = HB_COMP_PARAM->iExitLevel ; - BOOL b = HB_COMP_PARAM->fAnyWarning; hb_compparse( HB_COMP_PARAM ); HB_COMP_PARAM->iExitLevel = ( i > HB_COMP_PARAM->iExitLevel ? i : HB_COMP_PARAM->iExitLevel ); - HB_COMP_PARAM->fAnyWarning = ( b ? b : HB_COMP_PARAM->fAnyWarning ); } if( HB_COMP_PARAM->fAnyWarning ) diff --git a/harbour/source/vm/Makefile b/harbour/source/vm/Makefile index 67ad4c4330..dd683d0163 100644 --- a/harbour/source/vm/Makefile +++ b/harbour/source/vm/Makefile @@ -7,21 +7,18 @@ ROOT = ../../ ifeq ($(HB_ARCHITECTURE),win) ifeq ($(HB_COMPILER),mingw) C_MAIN = mainwin.c - DIRS = mainstd else ifeq ($(HB_COMPILER),mingwce) C_MAIN = mainwin.c - DIRS = mainstd mainwin else C_MAIN = mainstd.c mainwin.c - DIRS = mainstd mainwin endif endif - DIRS += maindllh maindllp + DIRS = mainstd mainwin maindllh maindllp else - ifeq ($(HB_COMPILER),wce) + ifeq ($(HB_ARCHITECTURE),wce) C_MAIN = mainwin.c - DIRS = mainstd mainwin + DIRS = mainstd mainwin maindllh maindllp else ifeq ($(HB_ARCHITECTURE),os2) C_MAIN = mainstd.c diff --git a/harbour/source/vm/maindllh/Makefile b/harbour/source/vm/maindllh/Makefile new file mode 100644 index 0000000000..1e704850fc --- /dev/null +++ b/harbour/source/vm/maindllh/Makefile @@ -0,0 +1,17 @@ +# +# $Id$ +# + +vpath %.c ../ + +ROOT = ../../../ + +C_SOURCES=\ + maindllh.c \ + +LIBNAME=hbmaindllh + +# always export symbols +HB_USER_CFLAGS += -DHB_DYNLIB + +include $(TOP)$(ROOT)config/lib.cf