diff --git a/harbour/ChangeLog b/harbour/ChangeLog
index bb2cdb30b7..4e8624e29b 100644
--- a/harbour/ChangeLog
+++ b/harbour/ChangeLog
@@ -17,6 +17,63 @@
past entries belonging to author(s): Viktor Szakats.
*/
+2009-06-10 23:33 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
+
+ ; TOFIX: dos/owatcom builds can now created successfully
+ (using standard Open Watcom 1.8 installation),
+ the bad news is that f.e. hbmk2 will crash the
+ NTVDM when trying a simple make.
+
+ * INSTALL
+ ! Minor fix to DOS instructions.
+ + Added DOS build examples.
+
+ * mpkg_dos.bat
+ ! Fixed target dir and archive name to be different
+ for djgpp and owatcom builds.
+
+ * make_gnu.bat
+ + config/djg-make.exe
+ + Added embedded copy of DOS build of GNU Make.
+ This is to make DOS builds, specifically dos/owatcom
+ builds simpler. Original filename was 'make.exe'.
+ This can probably be removed once we move DOS
+ platform status to a 'target-only' one, like WinCE/ARM.
+
+ * make_gnu.bat
+ ! Ugly hack added to create doc/en-EN dir. This still
+ won't solve the DOS copy problem unless I remove
+ the hack committed previously. If I remove it
+ the make process cannot be anymore started without
+ this batch file as it would choke on xcopy if
+ above dir doesn't exist.
+
+ * make_gnu.sh
+ ! Applied fix to only create install dirs if called
+ with 'install' option. At the same time enabled
+ this feature for all platforms. It will also create
+ doc/en-EN dir.
+ PLEASE TEST/REVIEW, I didn't do any testing.
+ ; TOFIX: Much or all of these should IMO be done directly
+ from make files, it would be much self-contained
+ and consistent.
+
+ * source/pp/Makefile
+ ! Fixed to find ChangeLog when building for DOS targets.
+ This was a problem when trying to build dos/owatcom.
+ Now in DOS mode it will refer to the ChangeLog by its
+ 8.3 name.
+
+ * utils/hbmk2/hbmk2.prg
+ * Minor formatting.
+
+ * mpkg_deb.sh
+ * harbour.spec
+ - Deleted hbmsql.
+ ; TOFIX: hbqt is missing from some Linux make files.
+ ; TOFIX: (in next major release) We should try to
+ make Linux build files less-maintenance intensive.
+
2009-06-10 21:10 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* utils/hbmk2/hbmk2.prg
! Fixed windows/dos cross-compilation. The error is very
diff --git a/harbour/INSTALL b/harbour/INSTALL
index 4a68c790ea..f5846bcbac 100644
--- a/harbour/INSTALL
+++ b/harbour/INSTALL
@@ -98,10 +98,15 @@ HOW TO BUILD AND INSTALL HARBOUR FROM SOURCE
DOS
---
+ > set HB_ARCHITECTURE=dos
> set HB_COMPILER=<[djgpp]|owatcom>
> set HB_INSTALL_PREFIX=
> make_gnu.bat install
+ NOTE: Build process was only tested on Windows host system,
+ and most probably it doesn't work anymore under
+ pure MS-DOS.
+
OS/2
----
> set HB_COMPILER=<[gcc]|owatcom>
@@ -504,6 +509,47 @@ EXAMPLES
call mpkg_win.bat > log-%HB_COMPILER%.txt 2>&1
-->8--
+ DOS
+ ---
+
+ --- Delorie GNU C
+ set DJGPP=C:\devl\djgpp\djgpp.env
+ set PATH=C:\devl\djgpp\bin;%PATH%
+ rem
+ set HB_ARCHITECTURE=dos
+ set HB_COMPILER=djgpp
+ set HB_INSTALL_PREFIX=C:\hb-%HB_COMPILER%
+ call make_gnu.bat %1 %2 > log-%HB_COMPILER%.txt 2>&1
+ ---
+
+ --- Open Watcom C++
+ SET WATCOM=C:\devl\owatcom-1.8
+ SET PATH=%WATCOM%\BINNT;%WATCOM%\BINW;%PATH%
+ SET EDPATH=%WATCOM%\EDDAT
+ SET INCLUDE=%WATCOM%\H;%WATCOM%\H\NT
+ rem
+ set HB_ARCHITECTURE=dos
+ set HB_COMPILER=owatcom
+ set HB_INSTALL_PREFIX=C:\hb-ow
+ call make_gnu.bat %1 %2 > log-%HB_COMPILER%.txt 2>&1
+ ---
+
+ --8<--
+ rem ; Add these *before* above sample scripts to configure 3rd party dependencies.
+ rem You have to use 8.3 path notation.
+ set HB_INC_ALLEGRO=C:\devl\ALLEGR~1.2\include
+ set HB_INC_FIREBIRD=C:\devl\FIREBI~1.4\include
+ set HB_INC_GD=C:\devl\GD-20~1.34\include
+ set HB_INC_MYSQL=C:\devl\MYSQL-~1.67\include
+ set HB_INC_PGSQL=C:\devl\PGSQL-~1.3\include
+ -->8--
+
+ --8<--
+ rem ; To create installation packages (.zip),
+ rem replace last line (calling make_gnu.bat) with this one:
+ call mpkg_dos.bat > log-%HB_COMPILER%.txt 2>&1
+ -->8--
+
HOW TO GET THE HARBOUR SOURCES
==============================
diff --git a/harbour/config/djg-make.exe b/harbour/config/djg-make.exe
new file mode 100644
index 0000000000..f17394cd69
Binary files /dev/null and b/harbour/config/djg-make.exe differ
diff --git a/harbour/harbour.spec b/harbour/harbour.spec
index e8492ec9a0..15e93d92ab 100644
--- a/harbour/harbour.spec
+++ b/harbour/harbour.spec
@@ -81,7 +81,7 @@
%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 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_ctrb export HB_CONTRIBLIBS="hbbmcdx hbbtree hbclipsm hbct hbgt hbmisc hbmzip 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
@@ -667,7 +667,6 @@ rm -rf $RPM_BUILD_ROOT
%{_libdir}/%{name}/libhbbmcdx.a
%{_libdir}/%{name}/libhbclipsm.a
%{_libdir}/%{name}/librddsql.a
-%{_libdir}/%{name}/libhbmsql.a
%{_libdir}/%{name}/libhbtpathy.a
%{_libdir}/%{name}/libhbziparc.a
diff --git a/harbour/make_gnu.bat b/harbour/make_gnu.bat
index 6c285a089b..ca6ac46d1e 100644
--- a/harbour/make_gnu.bat
+++ b/harbour/make_gnu.bat
@@ -34,10 +34,11 @@ if "%HB_COMPILER%" == "" set HB_COMPILER=djgpp
if "%HB_DOC_INSTALL%" == "" set HB_DOC_INSTALL=%HB_INSTALL_PREFIX%\doc
rem Try to create install dirs.
- if not exist %HB_BIN_INSTALL%\*.* md %HB_BIN_INSTALL%
- if not exist %HB_LIB_INSTALL%\*.* md %HB_LIB_INSTALL%
- if not exist %HB_INC_INSTALL%\*.* md %HB_INC_INSTALL%
- if not exist %HB_DOC_INSTALL%\*.* md %HB_DOC_INSTALL%
+ if not exist %HB_BIN_INSTALL%\*.* md %HB_BIN_INSTALL%
+ if not exist %HB_LIB_INSTALL%\*.* md %HB_LIB_INSTALL%
+ if not exist %HB_INC_INSTALL%\*.* md %HB_INC_INSTALL%
+ if not exist %HB_DOC_INSTALL%\*.* md %HB_DOC_INSTALL%
+ if not exist %HB_DOC_INSTALL%\en-EN\*.* md %HB_DOC_INSTALL%\en-EN
goto MAKE
@@ -108,8 +109,12 @@ if "%HB_COMPILER%" == "" set HB_COMPILER=djgpp
set _HB_MAKE=make.exe
- if "%HB_ARCHITECTURE%" == "dos" goto SKIP_WINDLL
+ if not "%HB_ARCHITECTURE%" == "dos" goto _FM_WIN
+ if not exist config\djg-make.exe goto SKIP_WINDLL
+ set _HB_MAKE=config\djg-make.exe
+ goto _FM_DONE
+ :_FM_WIN
if not exist config\mingw32-make.exe goto _FM_NOLOCAL
set _HB_MAKE=config\mingw32-make.exe
goto _FM_DONE
diff --git a/harbour/make_gnu.sh b/harbour/make_gnu.sh
index e4d3df5ad8..a014e727ee 100755
--- a/harbour/make_gnu.sh
+++ b/harbour/make_gnu.sh
@@ -176,7 +176,11 @@ if [ "$HB_ARCHITECTURE" = "win" ] || \
[ "$HB_ARCHITECTURE" = "dos" ] || \
[ "$HB_ARCHITECTURE" = "os2" ]; then
if [ -z "$HB_DOC_INSTALL" ]; then export HB_DOC_INSTALL="$HB_INSTALL_PREFIX/doc"; fi
- mkdir -p "$HB_BIN_INSTALL" "$HB_LIB_INSTALL" "$HB_INC_INSTALL" "$HB_DOC_INSTALL"
+fi
+
+if test_param "$@"; then
+ mkdir -p "$HB_BIN_INSTALL" "$HB_LIB_INSTALL" "$HB_INC_INSTALL"
+ [ -z "$HB_DOC_INSTALL" ] || mkdir -p "$HB_DOC_INSTALL" "$HB_DOC_INSTALL/en-EN"
fi
if [ -z "$HB_ARCHITECTURE" ]; then
@@ -219,3 +223,14 @@ else
find . -type d -name "$HB_ARCHITECTURE" | xargs rmdir 2> /dev/null
fi
fi
+
+test_param()
+{
+ local inst
+ inst=no
+ while [ $# != 0 ] && [ "$inst" != yes ]; do
+ [ "$1" = install ] && inst=yes
+ shift
+ done
+ [ "$inst" = yes ]
+ }
diff --git a/harbour/mpkg_deb.sh b/harbour/mpkg_deb.sh
index 87e6653804..84ee666cd2 100755
--- a/harbour/mpkg_deb.sh
+++ b/harbour/mpkg_deb.sh
@@ -49,7 +49,7 @@ then
export HB_WITHOUT_X11=yes
fi
-export HB_CONTRIBLIBS="hbbmcdx hbbtree hbclipsm hbct hbgt hbmisc hbmsql hbmzip hbnf hbsqlit3 hbtip hbtpathy hbvpdf hbziparc xhb"
+export HB_CONTRIBLIBS="hbbmcdx hbbtree hbclipsm hbct hbgt hbmisc hbmzip hbnf hbsqlit3 hbtip hbtpathy hbvpdf hbziparc xhb"
if [ ! -f "/usr/include/hpdf.h" ] && \
[ ! -f "/usr/local/include/hpdf.h" ]
@@ -81,7 +81,7 @@ then
fi
if test_reqpkg libgd-xpm-dev || \
- test_reqpkg libgd2-xpm-dev
+ test_reqpkg libgd2-xpm-dev
then
export HB_CONTRIBLIBS="${HB_CONTRIBLIBS} hbgd"
fi
diff --git a/harbour/mpkg_dos.bat b/harbour/mpkg_dos.bat
index 94e251a9c6..c38409981a 100644
--- a/harbour/mpkg_dos.bat
+++ b/harbour/mpkg_dos.bat
@@ -25,7 +25,7 @@ setlocal
rem ; Basic setup
set HB_VERSION=200
if "%HB_ARCHITECTURE%" == "" set HB_ARCHITECTURE=dos
-set HB_PKGNAME=hb%HB_VERSION%
+set HB_PKGNAME=hb%HB_VERSION%%HB_COMPILER:~0,2%
set HB_DIRNAME=%HB_PKGNAME%
rem ; Dir setup
diff --git a/harbour/source/pp/Makefile b/harbour/source/pp/Makefile
index fe06bc6152..fbf3ad2ee3 100644
--- a/harbour/source/pp/Makefile
+++ b/harbour/source/pp/Makefile
@@ -24,12 +24,18 @@ include $(TOP)$(ROOT)config/lib.cf
INSTALL_RULE_LIBRARIES := $(INSTALL_RULE)
+ifeq ($(HB_ARCHITECTURE),dos)
+ HB_CHANGELOG=../../../../CHANGE~1
+else
+ HB_CHANGELOG=../../../../ChangeLog
+endif
+
ifneq ($(HB_PP_RULES),)
pptable.c : $(HB_PP_RULES)
$(CP) $(subst /,$(DIRSEP),$<) $@
else
pptable.c : hbpp$(EXE_EXT)
- $(HB_PPGEN_PATH)/hbpp$(EXE_EXT) $(TOP)$(ROOT)include/hbstdgen.ch -opptable.c -q -c -v$(TOP)$(ROOT)include/hbverbld.h
+ $(HB_PPGEN_PATH)/hbpp$(EXE_EXT) $(TOP)$(ROOT)include/hbstdgen.ch -opptable.c -q -c$(HB_CHANGELOG) -v$(TOP)$(ROOT)include/hbverbld.h
endif
ifneq ($(HB_BIN_INSTALL),)
diff --git a/harbour/utils/hbmk2/hbmk2.prg b/harbour/utils/hbmk2/hbmk2.prg
index 79442ba7e7..6fda3f04f9 100644
--- a/harbour/utils/hbmk2/hbmk2.prg
+++ b/harbour/utils/hbmk2/hbmk2.prg
@@ -106,7 +106,7 @@ ANNOUNCE HB_GTSYS
REQUEST HB_GT_CGI_DEFAULT
/* Include these for -pause support. */
-#if defined( __PLATFORM__WINCE )
+#if defined( __PLATFORM__WINCE )
REQUEST HB_GT_WVT
#elif defined( __PLATFORM__WINDOWS )
REQUEST HB_GT_WIN