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.
This commit is contained in:
Viktor Szakats
2009-06-10 21:49:10 +00:00
parent 054d4e1873
commit 8875ec290f
10 changed files with 141 additions and 13 deletions

View File

@@ -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

View File

@@ -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=<DIR>
> 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
==============================

BIN
harbour/config/djg-make.exe Normal file

Binary file not shown.

View File

@@ -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

View File

@@ -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

View File

@@ -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 ]
}

View File

@@ -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

View File

@@ -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

View File

@@ -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),)

View File

@@ -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