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:
@@ -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
|
||||
|
||||
@@ -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
BIN
harbour/config/djg-make.exe
Normal file
Binary file not shown.
@@ -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
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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 ]
|
||||
}
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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),)
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user