From 9cdb89624f7136068d2f8bbfffbfdca656706dac Mon Sep 17 00:00:00 2001 From: Viktor Szakats Date: Fri, 5 Nov 2010 14:59:11 +0000 Subject: [PATCH] 2010-11-05 15:58 UTC+0100 Viktor Szakats (harbour.01 syenar.hu) * contrib/hbexpat/expat/expat.hbp * contrib/hbexpat/hbexpat.hbp * contrib/hbexpat/hbexpat.hbc * Minor cleanups. * contrib/hbexpat/tests/tohash.prg + Added HB_HKEEPORDER( , .T. ) * external/Makefile * config/global.mk * INSTALL - Deleted central option to control external lib building: HB_EXTERNALLIBS ! Also deleted one reference to HB_EXTERNAL_ADDONS, which has been removed earlier. + external/minizip/minizip.hbp + external/minizip/minizip.hbc + external/sqlite3/sqlite3.hbc + external/sqlite3/sqlite3.hbp + external/bzip2/bzip2.hbc + external/bzip2/bzip2.hbp + external/libhpdf/libhpdf.hbc + external/libhpdf/libhpdf.hbp + Added experimental hbmk2 make files for foreign code which is used solely by contribs. --- harbour/ChangeLog | 28 ++++ harbour/INSTALL | 4 - harbour/config/global.mk | 6 - harbour/contrib/hbexpat/expat/expat.hbp | 1 - harbour/contrib/hbexpat/hbexpat.hbc | 1 - harbour/contrib/hbexpat/hbexpat.hbp | 1 - harbour/contrib/hbexpat/tests/tohash.prg | 5 + harbour/external/Makefile | 14 +- harbour/external/bzip2/bzip2.hbc | 5 + harbour/external/bzip2/bzip2.hbp | 39 +++++ harbour/external/libhpdf/libhpdf.hbc | 5 + harbour/external/libhpdf/libhpdf.hbp | 180 +++++++++++++++++++++++ harbour/external/minizip/minizip.hbc | 5 + harbour/external/minizip/minizip.hbp | 36 +++++ harbour/external/sqlite3/sqlite3.hbc | 5 + harbour/external/sqlite3/sqlite3.hbp | 27 ++++ 16 files changed, 336 insertions(+), 26 deletions(-) create mode 100644 harbour/external/bzip2/bzip2.hbc create mode 100644 harbour/external/bzip2/bzip2.hbp create mode 100644 harbour/external/libhpdf/libhpdf.hbc create mode 100644 harbour/external/libhpdf/libhpdf.hbp create mode 100644 harbour/external/minizip/minizip.hbc create mode 100644 harbour/external/minizip/minizip.hbp create mode 100644 harbour/external/sqlite3/sqlite3.hbc create mode 100644 harbour/external/sqlite3/sqlite3.hbp diff --git a/harbour/ChangeLog b/harbour/ChangeLog index 1acae14bc1..f22f6ae2bc 100644 --- a/harbour/ChangeLog +++ b/harbour/ChangeLog @@ -16,6 +16,34 @@ The license applies to all entries newer than 2009-04-28. */ +2010-11-05 15:58 UTC+0100 Viktor Szakats (harbour.01 syenar.hu) + * contrib/hbexpat/expat/expat.hbp + * contrib/hbexpat/hbexpat.hbp + * contrib/hbexpat/hbexpat.hbc + * Minor cleanups. + + * contrib/hbexpat/tests/tohash.prg + + Added HB_HKEEPORDER( , .T. ) + + * external/Makefile + * config/global.mk + * INSTALL + - Deleted central option to control external lib building: + HB_EXTERNALLIBS + ! Also deleted one reference to HB_EXTERNAL_ADDONS, which has + been removed earlier. + + + external/minizip/minizip.hbp + + external/minizip/minizip.hbc + + external/sqlite3/sqlite3.hbc + + external/sqlite3/sqlite3.hbp + + external/bzip2/bzip2.hbc + + external/bzip2/bzip2.hbp + + external/libhpdf/libhpdf.hbc + + external/libhpdf/libhpdf.hbp + + Added experimental hbmk2 make files for + foreign code which is used solely by contribs. + 2010-11-05 14:54 UTC+0100 Viktor Szakats (harbour.01 syenar.hu) * contrib/make.hbs ! Don't pickup dependencies with long-filename on MS-DOS hosts. diff --git a/harbour/INSTALL b/harbour/INSTALL index d6d4441f5a..073939d3c1 100644 --- a/harbour/INSTALL +++ b/harbour/INSTALL @@ -705,10 +705,6 @@ HARBOUR Lib names should be without extension and path. You only need this in special cases, like CodeGuard build with bcc. - - HB_EXTERNALLIBS=no Don't build space separated list of - external libraries. - - HB_EXTERNALLIBS=[] Build space separated list of external - libraries. Build all if left empty (default). - HB_INSTALL_IMPLIB=yes Copy import libraries created for external .dll dependencies to the library install directory in 'install' build phase. Default: no diff --git a/harbour/config/global.mk b/harbour/config/global.mk index c1c0c74d14..0ab87cfa8f 100644 --- a/harbour/config/global.mk +++ b/harbour/config/global.mk @@ -300,12 +300,6 @@ ifeq ($(HB_INIT_DONE),) ifneq ($(HB_BUILD_PARTS),) $(info ! HB_BUILD_PARTS: $(HB_BUILD_PARTS)) endif - ifneq ($(HB_EXTERNALLIBS),) - $(info ! HB_EXTERNALLIBS: $(HB_EXTERNALLIBS)) - endif - ifneq ($(HB_EXTERNAL_ADDONS),) - $(info ! HB_EXTERNAL_ADDONS: $(HB_EXTERNAL_ADDONS)) - endif ifneq ($(HB_REBUILD_EXTERN),) $(info ! HB_REBUILD_EXTERN: $(HB_REBUILD_EXTERN)) endif diff --git a/harbour/contrib/hbexpat/expat/expat.hbp b/harbour/contrib/hbexpat/expat/expat.hbp index 6ed65a2bb0..906fe6244c 100644 --- a/harbour/contrib/hbexpat/expat/expat.hbp +++ b/harbour/contrib/hbexpat/expat/expat.hbp @@ -8,7 +8,6 @@ -inc -o${hb_targetname} --workdir=lib/${hb_plat}/${hb_comp}${hb_build}/${hb_work}/${hb_outputname}${hb_workdynsub} -warn=no diff --git a/harbour/contrib/hbexpat/hbexpat.hbc b/harbour/contrib/hbexpat/hbexpat.hbc index fd61db30e8..1ffde7b779 100644 --- a/harbour/contrib/hbexpat/hbexpat.hbc +++ b/harbour/contrib/hbexpat/hbexpat.hbc @@ -3,7 +3,6 @@ # incpaths=. -libpaths=lib/${hb_plat}/${hb_comp}${hb_build}/ libs=${hb_name} libs=expat/expat.hbc diff --git a/harbour/contrib/hbexpat/hbexpat.hbp b/harbour/contrib/hbexpat/hbexpat.hbp index 75555c44f8..ff9053b635 100644 --- a/harbour/contrib/hbexpat/hbexpat.hbp +++ b/harbour/contrib/hbexpat/hbexpat.hbp @@ -6,7 +6,6 @@ -inc -o${hb_targetname} --workdir=${hb_work}/${hb_plat}/${hb_comp}/${hb_targetname} -w3 -es2 diff --git a/harbour/contrib/hbexpat/tests/tohash.prg b/harbour/contrib/hbexpat/tests/tohash.prg index 13af5c1569..2c31464a27 100644 --- a/harbour/contrib/hbexpat/tests/tohash.prg +++ b/harbour/contrib/hbexpat/tests/tohash.prg @@ -8,6 +8,7 @@ * Copyright 2010 Viktor Szakats (harbour.01 syenar.hu) * www - http://harbour-project.org * + * See COPYING for licensing terms. */ #include "hbexpat.ch" @@ -52,6 +53,8 @@ PROCEDURE Main( cFileName ) aNode[ _N_xValue ] := NIL aNode[ _N_hAttr ] := NIL + hb_HKeepOrder( aNode[ _N_hChild ], .T. ) + aUserData := Array( _D_MAX_ ) aUserData[ _D_aTree ] := aNode aUserData[ _D_aNode ] := aUserData[ _D_aTree ] @@ -128,6 +131,8 @@ PROCEDURE cb_start( aUserData, cElement, aAttrList ) aNewNode[ _N_xValue ] := "" aNewNode[ _N_hAttr ] := { => } + hb_HKeepOrder( aNewNode[ _N_hChild ], .T. ) + IF cElement $ aNode[ _N_hChild ] AAdd( aNode[ _N_hChild ][ cElement ], aNewNode ) ELSE diff --git a/harbour/external/Makefile b/harbour/external/Makefile index 301ca7b43f..112b2e02df 100644 --- a/harbour/external/Makefile +++ b/harbour/external/Makefile @@ -15,16 +15,4 @@ DIRS := \ zlib \ minizip \ -ifeq ($(firstword $(HB_EXTERNALLIBS)),no) - DIRS := $(filter-out $(HB_EXTERNALLIBS),$(DIRS)) -else -ifneq ($(HB_EXTERNALLIBS),) - DIRS := $(HB_EXTERNALLIBS) -endif -endif - -ifneq ($(DIRS),) - include $(TOP)$(ROOT)config/dir.mk -else - include $(TOP)$(ROOT)config/none.mk -endif +include $(TOP)$(ROOT)config/dir.mk diff --git a/harbour/external/bzip2/bzip2.hbc b/harbour/external/bzip2/bzip2.hbc new file mode 100644 index 0000000000..1763330ae6 --- /dev/null +++ b/harbour/external/bzip2/bzip2.hbc @@ -0,0 +1,5 @@ +# +# $Id$ +# + +libs=${hb_name} diff --git a/harbour/external/bzip2/bzip2.hbp b/harbour/external/bzip2/bzip2.hbp new file mode 100644 index 0000000000..2123b4af24 --- /dev/null +++ b/harbour/external/bzip2/bzip2.hbp @@ -0,0 +1,39 @@ +# +# $Id$ +# + +-stop{wce|pocc64} + +-hblib +-inc + +-o${hb_targetname} + +-warn=no +-cpp=no + +blocksor.c +bzlib.c +compress.c +crctable.c +decompre.c +huffman.c +randtabl.c + +{bcc}-aflag=/C + +# ORIGIN http://www.bzip.org/ +# VER 1.0.6 +# URL http://www.bzip.org/1.0.6/bzip2-1.0.6.tar.gz +# DIFF +# +# MAP LICENSE +# MAP blocksort.c blocksor.c +# MAP bzlib.c +# MAP bzlib.h +# MAP bzlib_private.h bzlib_pr.h +# MAP compress.c +# MAP crctable.c +# MAP decompress.c decompre.c +# MAP huffman.c +# MAP randtable.c randtabl.c diff --git a/harbour/external/libhpdf/libhpdf.hbc b/harbour/external/libhpdf/libhpdf.hbc new file mode 100644 index 0000000000..1763330ae6 --- /dev/null +++ b/harbour/external/libhpdf/libhpdf.hbc @@ -0,0 +1,5 @@ +# +# $Id$ +# + +libs=${hb_name} diff --git a/harbour/external/libhpdf/libhpdf.hbp b/harbour/external/libhpdf/libhpdf.hbp new file mode 100644 index 0000000000..e9da2acda8 --- /dev/null +++ b/harbour/external/libhpdf/libhpdf.hbp @@ -0,0 +1,180 @@ +# +# $Id$ +# + +-stop{(win&watcom)|pocc64|(wce&!mingwarm)} + +-hblib +-inc + +-o${hb_targetname} + +-warn=no +-cpp=no + +-depkeyhead=png:png.h +-depcontrol=png:local{HB_BUILD_EXTDEF='no'} +-depcontrol=png:${HB_WITH_PNG} +-depincpath=png:/usr/include +-depincpath=png:/opt/local/include +-depincpathlocal=png:../../external/png + +# This is a dependency of png +-depkeyhead=zlib:zlib.h +-depcontrol=zlib:local{HB_BUILD_EXTDEF='no'} +-depcontrol=zlib:${HB_WITH_ZLIB} +-depincpath=zlib:/usr/include +-depincpath=zlib:/usr/local/include +-depincpath=zlib:/boot/develop/headers/3rdparty +-depincpathlocal=zlib:../../external/zlib + +# Suppress deprecated warnings until libharu gets updated for latest libpng +-cflag=-DPNG_NO_PEDANTIC_WARNINGS +# TOFIX: This will never kick in as -hblib is fixed in this file +-cflag=-DHPDF_DLL_MAKE{hbdyn} +-cflag=-U__COREDLL__{mingwarm} + +_hbhbpdf.c +hpdfanno.c +hpdfarra.c +hpdfbina.c +hpdfbool.c +hpdfcata.c +hpdfdest.c +hpdfdict.c +hpdfdoc.c +hpdfdocp.c +hpdfecy.c +hpdfecyd.c +hpdfencc.c +hpdfencj.c +hpdfenck.c +hpdfencn.c +hpdfenco.c +hpdferro.c +hpdfextg.c +hpdffdf.c +hpdffdf1.c +hpdffdfb.c +hpdffdfc.c +hpdffdfi.c +hpdffdfj.c +hpdffdfk.c +hpdffdfn.c +hpdffdft.c +hpdffon1.c +hpdffonc.c +hpdffont.c +hpdffott.c +hpdfgsta.c +hpdfimag.c +hpdfimap.c +hpdfinfo.c +hpdflist.c +hpdfmmgr.c +hpdfname.c +hpdfndic.c +hpdfnull.c +hpdfnumb.c +hpdfobje.c +hpdfoutl.c +hpdfpage.c +hpdfpago.c +hpdfpags.c +hpdfpdfa.c +hpdfreal.c +hpdfstre.c +hpdfstri.c +hpdfu3d.c +hpdfutil.c +hpdfxref.c + +# ORIGIN http://libharu.org/ +# VER 2.2.0 +# URL http://libharu.org/files/libharu-2.2.0.tar.gz +# DIFF libhpdf.dif +# +# MAP README +# MAP src/hpdf_annotation.c hpdfanno.c +# MAP src/hpdf_array.c hpdfarra.c +# MAP src/hpdf_binary.c hpdfbina.c +# MAP src/hpdf_boolean.c hpdfbool.c +# MAP src/hpdf_catalog.c hpdfcata.c +# MAP src/hpdf_destination.c hpdfdest.c +# MAP src/hpdf_dict.c hpdfdict.c +# MAP src/hpdf_doc.c hpdfdoc.c +# MAP src/hpdf_doc_png.c hpdfdocp.c +# MAP src/hpdf_encoder.c hpdfenco.c +# MAP src/hpdf_encoder_cns.c hpdfencc.c +# MAP src/hpdf_encoder_cnt.c hpdfencn.c +# MAP src/hpdf_encoder_jp.c hpdfencj.c +# MAP src/hpdf_encoder_kr.c hpdfenck.c +# MAP src/hpdf_encrypt.c hpdfecy.c +# MAP src/hpdf_encryptdict.c hpdfecyd.c +# MAP src/hpdf_error.c hpdferro.c +# MAP src/hpdf_ext_gstate.c hpdfextg.c +# MAP src/hpdf_font.c hpdffont.c +# MAP src/hpdf_font_cid.c hpdffonc.c +# MAP src/hpdf_font_tt.c hpdffott.c +# MAP src/hpdf_font_type1.c hpdffon1.c +# MAP src/hpdf_fontdef.c hpdffdf.c +# MAP src/hpdf_fontdef_base14.c hpdffdfb.c +# MAP src/hpdf_fontdef_cid.c hpdffdfi.c +# MAP src/hpdf_fontdef_cns.c hpdffdfc.c +# MAP src/hpdf_fontdef_cnt.c hpdffdfn.c +# MAP src/hpdf_fontdef_jp.c hpdffdfj.c +# MAP src/hpdf_fontdef_kr.c hpdffdfk.c +# MAP src/hpdf_fontdef_tt.c hpdffdft.c +# MAP src/hpdf_fontdef_type1.c hpdffdf1.c +# MAP src/hpdf_gstate.c hpdfgsta.c +# MAP src/hpdf_image.c hpdfimag.c +# MAP src/hpdf_image_png.c hpdfimap.c +# MAP src/hpdf_info.c hpdfinfo.c +# MAP src/hpdf_list.c hpdflist.c +# MAP src/hpdf_mmgr.c hpdfmmgr.c +# MAP src/hpdf_name.c hpdfname.c +# MAP src/hpdf_namedict.c hpdfndic.c +# MAP src/hpdf_null.c hpdfnull.c +# MAP src/hpdf_number.c hpdfnumb.c +# MAP src/hpdf_objects.c hpdfobje.c +# MAP src/hpdf_outline.c hpdfoutl.c +# MAP src/hpdf_pdfa.c hpdfpdfa.c +# MAP src/hpdf_page_label.c hpdfpage.c +# MAP src/hpdf_page_operator.c hpdfpago.c +# MAP src/hpdf_pages.c hpdfpags.c +# MAP src/hpdf_real.c hpdfreal.c +# MAP src/hpdf_streams.c hpdfstre.c +# MAP src/hpdf_string.c hpdfstri.c +# MAP src/hpdf_u3d.c hpdfu3d.c +# MAP src/hpdf_utils.c hpdfutil.c +# MAP src/hpdf_xref.c hpdfxref.c +# MAP include/hpdf.h hpdf.h +# MAP include/hpdf_annotation.h hpdfanno.h +# MAP include/hpdf_catalog.h hpdfcata.h +# MAP include/hpdf_conf.h hpdfconf.h +# MAP include/hpdf_consts.h hpdfcons.h +# MAP include/hpdf_destination.h hpdfdest.h +# MAP include/hpdf_doc.h hpdfdoc.h +# MAP include/hpdf_encoder.h hpdfenco.h +# MAP include/hpdf_encrypt.h hpdfencr.h +# MAP include/hpdf_encryptdict.h hpdfency.h +# MAP include/hpdf_error.h hpdferro.h +# MAP include/hpdf_ext_gstate.h hpdfextg.h +# MAP include/hpdf_font.h hpdffont.h +# MAP include/hpdf_fontdef.h hpdffond.h +# MAP include/hpdf_gstate.h hpdfgsta.h +# MAP include/hpdf_image.h hpdfimag.h +# MAP include/hpdf_info.h hpdfinfo.h +# MAP include/hpdf_list.h hpdflist.h +# MAP include/hpdf_mmgr.h hpdfmmgr.h +# MAP include/hpdf_namedict.h hpdfndic.h +# MAP include/hpdf_objects.h hpdfobje.h +# MAP include/hpdf_outline.h hpdfoutl.h +# MAP include/hpdf_pdfa.h hpdfpdfa.h +# MAP include/hpdf_page_label.h hpdfpage.h +# MAP include/hpdf_pages.h hpdfpags.h +# MAP include/hpdf_streams.h hpdfstre.h +# MAP include/hpdf_types.h hpdftype.h +# MAP include/hpdf_u3d.h hpdfu3d.h +# MAP include/hpdf_utils.h hpdfutil.h +# MAP include/hpdf_version.h hpdfvers.h diff --git a/harbour/external/minizip/minizip.hbc b/harbour/external/minizip/minizip.hbc new file mode 100644 index 0000000000..1763330ae6 --- /dev/null +++ b/harbour/external/minizip/minizip.hbc @@ -0,0 +1,5 @@ +# +# $Id$ +# + +libs=${hb_name} diff --git a/harbour/external/minizip/minizip.hbp b/harbour/external/minizip/minizip.hbp new file mode 100644 index 0000000000..f0c17300c9 --- /dev/null +++ b/harbour/external/minizip/minizip.hbp @@ -0,0 +1,36 @@ +# +# $Id$ +# + +-hblib +-inc + +-o${hb_targetname} + +-warn=no +-cpp=no + +ioapi.c +zip.c +unzip.c + +-depkeyhead=zlib:zlib.h +-depcontrol=zlib:local{HB_BUILD_EXTDEF='no'} +-depcontrol=zlib:${HB_WITH_ZLIB} +-depincpath=zlib:/usr/include +-depincpath=zlib:/usr/local/include +-depincpath=zlib:/boot/develop/headers/3rdparty +-depincpathlocal=zlib:../../external/zlib + +# ORIGIN http://www.winimage.com/zLibDll/minizip.html +# VER 1.1 +# URL http://www.winimage.com/zLibDll/unzip11.zip +# DIFF minizip.dif +# +# MAP crypt.h +# MAP ioapi.c +# MAP ioapi.h +# MAP unzip.c +# MAP unzip.h +# MAP zip.c +# MAP zip.h diff --git a/harbour/external/sqlite3/sqlite3.hbc b/harbour/external/sqlite3/sqlite3.hbc new file mode 100644 index 0000000000..1763330ae6 --- /dev/null +++ b/harbour/external/sqlite3/sqlite3.hbc @@ -0,0 +1,5 @@ +# +# $Id$ +# + +libs=${hb_name} diff --git a/harbour/external/sqlite3/sqlite3.hbp b/harbour/external/sqlite3/sqlite3.hbp new file mode 100644 index 0000000000..f58fb9db9e --- /dev/null +++ b/harbour/external/sqlite3/sqlite3.hbp @@ -0,0 +1,27 @@ +# +# $Id$ +# + +-stop{poccarm} +# NOTE: old msvcarm can't cope with some PP directives. [vszakats] +-stop{msvcarm&HB_COMP_VER!='1200'&HB_COMP_VER!='1300'&HB_COMP_VER!='1310')} + +# TODO: Some restrictions were not migrated from Makefile + +-hblib +-inc + +-o${hb_targetname} + +-warn=no +-cpp=no + +sqlite3.c + +# ORIGIN http://www.sqlite.org/ +# VER 3.7.3 +# URL http://www.sqlite.org/sqlite-amalgamation-3_7_3.zip +# DIFF sqlite3.dif +# +# MAP sqlite3.c +# MAP sqlite3.h