Commit Graph

6289 Commits

Author SHA1 Message Date
Przemyslaw Czerpak
cdd4f7dbd7 2009-08-31 12:41 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/source/rdd/dbf1.c
  * harbour/source/rdd/sdf1.c
  * harbour/source/rdd/delim1.c
    * minor extension in default alias settings
2009-08-31 10:42:03 +00:00
Przemyslaw Czerpak
2918474e6f 2009-08-30 11:41 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/source/compiler/hbmain.c
    ! cleaned error messages to simulate Clipper behavior
2009-08-30 09:41:43 +00:00
Przemyslaw Czerpak
389141c531 2009-08-30 10:29 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/source/pp/Makefile
  * harbour/source/main/Makefile
    ! hacked the order of linked library list to resolve problem with
      potential cross references between libraries on platforms which do
      not support library grouping

  * harbour/source/nortl/nortl.c
    ! added missing include hbmemory.ch

  * harbour/source/compiler/hbmain.c
    ! added protection against multiple init function freeing
2009-08-30 08:29:20 +00:00
Viktor Szakats
42cdc060c3 2009-08-29 19:05 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* source/pp/hbpp.c
    + Added command to HB_DYNLIB guard.

  * source/pp/Makefile
    ! Deleted wildcard check before hbpp obj deletion. It's wrong
      because hbpp obj isn't there when the rule is validated, so
      the deletion would never take place. (For some reason it was
      still deleted on some platforms though - apparently not on
      OS/2 GNU Make.). Anyhow addition of $(wildcard) call at this
      spot was not critical anyway. See: 2009-08-22 11:59

  * utils/hbmk2/hbmk2.prg
    ! Fixed checking wrong dependencies when non-.prg extension was
      used for .prg source files in incremental mode.
2009-08-29 17:09:05 +00:00
Przemyslaw Czerpak
d0845b91f5 2009-08-29 13:33 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/include/hbcomp.h
  * harbour/source/compiler/hbmain.c
    ! fixed typo in -m parameter handling
    ! fixed old memory leak exploited by compile time error in code with
      static variables
2009-08-29 11:33:22 +00:00
Przemyslaw Czerpak
c46621db36 2009-08-29 12:43 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/include/hbcomp.h
  * harbour/include/hbcompdf.h
  * harbour/source/compiler/hbmain.c
  * harbour/source/compiler/cmdcheck.c
  * harbour/source/compiler/hbcomp.c
  * harbour/source/compiler/genc.c
  * harbour/source/compiler/harbour.yyc
  * harbour/source/compiler/harbour.y
  * harbour/source/compiler/hbdbginf.c
  * harbour/source/compiler/genhrb.c
  * harbour/source/compiler/gencobj.c
    - removed old "AutoOpen" code used for @<name>.clp, SET PROCEDURE TO ...
      and DO <func> [ WITH <args,...> ] statements
      It was neither Clipper compatible not working correctly in some cases.
    + added new code for multi .prg module compilation into single unit
      with support for multiple file wide declarations just like Cipper
      does doe @.clp files and SET PROCEDURE TO / DO ... [ WITH ... ]
    % cleaned redundant code used in harbour compiler to execute grammar
      parser with different conditions. Now it's much shorter and simpler
      and hb_compparse() is called only from one place.
    ! fixed possible multiple declarations in symbol table for ANNOUNCE
      function
    % rewritten C code generation to increase speed and make it independent
      from some internal compiler structures. Now it's shorter and faster
      but it strongly uses scope attributes in symbol table so they have
      to be properly set during compilation and new code for .c file
      generation should help in their validation.
    % few other optimizations and cleanups

      Now Harbour can compile code like:
         /*** t01.prg ***/
         static s_var := "main sVar"
         proc main()
            ? procname(), "->", sVar
            do t02
         return

         /*** t02.prg ***/
         static s_var := "t02 sVar"
         proc t02()
            ? procname(), "->", sVar
         return

      by simpe:
         harbour -n -w -es2 t01
      or using tst.clp:
         t01
         t02
      and:
         harbour -n -w -es2 @tst
      in both cases it works just like Clipper. Please note that in the
      second version generated file inherits (like in Clipper) name from
      .clp file and is called "tst.c". The .clp file name is also used
      as module handler signature.

      TODO: add support for multiple static functions with the same name
            but coming from different .prg modules compiled into single
            unit using @.clp files or SET PROCEDURE TO / DO ... [ WITH ... ]
            In above modifications I already implemented it partially but
            I haven't made one very important extension which strongly
            interacts with symbol table usage during compilation and can
            be source of really bad problems if I made sth wrong so I plan
            to finish when above changes will have been tested.
2009-08-29 10:43:31 +00:00
Viktor Szakats
e86a10719d 2009-08-29 11:21 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* contrib/hbssl/bio.c
    - Disabled feature which doesn't seem to be exported via
      implibs.

  + contrib/hbssl/hbssls.hbc
  + contrib/hbssl/hbssls
  + contrib/hbssl/hbssls/Makefile
  * contrib/hbssl/hbssl.hbc
  * contrib/hbssl/Makefile
    * Default hbssl lib is now created to link dynamically (on Windows).
    + Added static build of hbssl by the name hbssls, with new .hbc
      file linking to static OpenSSL libs.

  * contrib/hbssl/Makefile
  + contrib/hbssl/hbssls.hbc
  * contrib/hbssl/hbssl.hbc

  * bin/hb-func.sh
    - Commented creation of dynamic libs. Now it's done on GNU Make
      level.

  * config/os2/gcc.mk
    - Disabled os2/gcc .dll creation. If someone comes up with a working
      solution we can readd it, but in current form it just broke os2/gcc
      target with no short-term hope for a solution.

  * source/common/hbver.c
    + Added "Embarcadero" to Borland C compiler name.
      Borrowed from xhb / Andi Jahja
    + Readded also "Borland" to both Embarcadero and CodeGear compiler
      names. Probably for most ppl "Borland" tells a hell lot more than
      these names which keep changing every second year.

  * contrib/gtwvg/Makefile
  * contrib/hbtip/Makefile
  * contrib/hbtip/hbtipssl/Makefile
    * Formatting.
2009-08-29 09:21:45 +00:00
Viktor Szakats
86318490b5 2009-08-28 08:53 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* bin/hb-func.sh
    ! Fixed recent mistake in gpm detection at postinst (now redundant)
      dynlib generation phase.

  * source/rtl/fssize.c
    ! Fixed warnings shown by mingw64 4.5.0.

  * config/detfun.mk
    + Now accepting HB_WITH_* control variables in place of HB_INC_* once.
      If HB_WITH_* is set it overrides HB_INC_*. Experimental yet.
    * Minor in comments.

  * config/detect.mk
    * Minor correction for conf.mk inclusion.
2009-08-28 06:54:23 +00:00
Przemyslaw Czerpak
dec2109f1b 2009-08-27 21:41 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/source/rtl/filebuf.c
    ! added missing static in declaration

  * harbour/source/rdd/dbffpt/dbffpt1.c
    ! fixed default memo extension in non workarea methods
2009-08-27 19:41:22 +00:00
Viktor Szakats
0416f85a76 2009-08-27 14:30 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* contrib/hbwin/Makefile
  * source/rtl/gtgui/Makefile
  * source/rtl/gtwvt/Makefile
    % Simplified inclusion logic.
2009-08-27 12:30:27 +00:00
Viktor Szakats
6fd88596fc 2009-08-27 08:27 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* config/detfun.mk
  * config/detect.mk
    + Added positive platform/compiler filters.
    + Simplified internal platform/compiler filter syntax, now it's
      one unified list where compiler/platform can be mixed and
      negative filters can be passed by using '!' char prefix.
    ! In comment text.

  * source/rtl/gtsln/Makefile
    ! Fixed silly copy-paste mistake in recent autodetection changes.
      Thanks to Tamas Tevesz for spotting it.

  * source/rtl/gtsln/mousesln.c
    * Using macros instead of a constants.
      (2 -> STDERR_FILENO)
2009-08-27 06:28:18 +00:00
Viktor Szakats
f61ee664b2 2009-08-26 18:51 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* source/rtl/gtxwc/Makefile
  * source/rtl/gtcrs/Makefile
  * source/rtl/gtsln/Makefile
    + Changed to use HB_HAS_* values instead of doing autodetection
      locally.

  * source/rtl/gttrm/Makefile
    + Indenting.

  * config/global.mk
    + Added HB_LDFLAGS variable. Not yet used.
2009-08-26 16:55:12 +00:00
Viktor Szakats
5495d2978a 2009-08-26 18:42 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* source/rtl/gtcrs/Makefile
  * source/rtl/gttrm/Makefile
  * source/rtl/gtsln/Makefile
    * Using HB_HAS_GPM instead of old HB_GPM_MOUSE.

  * config/bin.mk
  * config/dyn.mk
  * config/bsd/libs.mk
  * config/darwin/libs.mk
  * config/hpux/libs.mk
  * config/dos/djgpp.mk
  * config/win/mingw.mk
  * config/linux/libs.mk
  * config/os2/gcc.mk
  * config/sunos/libs.mk
    * Extended the way it's decided whether to include
      rtl external lib dependencies or not. Now binary specific
      logic was moved to bin.mk, and dynamic lib logic was added
      to dyn.mk.
      The flag is called HB_LINKING_RTL (not empty means yes).
    + Updated syslib list assembly parts to use HB_HAS_*
      autodetection variables instead of trying to find it out
      by other means.

  * config/global.mk
    + Adding gtcrs, gtsln, gtxwc to std liblist if required
      components are available. This means that it's now again
      possible to select these as build-time default GTs.
    * Updated comment for setting plans.
2009-08-26 16:43:24 +00:00
Przemyslaw Czerpak
58db3ccf8a 2009-08-26 13:47 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/source/rtl/filebuf.c
    * reverted the alternative IO API look up order
    * small modification
2009-08-26 11:47:49 +00:00
Viktor Szakats
18bfd44b68 2009-08-26 11:18 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* INSTALL
    + Documented HB_CCPATH, HB_CCPREFIX, HB_CCPOSTFIX config variables.

  * source/Makefile
  * config/lib.mk
    + Added gtxwc to Harbour dynamic libs on *nixes.

  * config/global.mk
    ! Always set HB_INC_INSTALL on sh shells to make postinst.sh
      happy.

  * config/linux/global.mk
  * config/linux/gcc.mk
  * config/linux/icc.mk
  * config/linux/sunpro.mk
    % Moved 'system' library name and path list forming logic to
      platform global.mk.
    ; TODO: Also for other platforms.

  * source/Makefile
    ! Fixed to use '-' separator between dynlib name and version
      on *nixes too, except on darwin, where it's a '.'.
2009-08-26 09:27:56 +00:00
Przemyslaw Czerpak
59f2cf152b 2009-08-26 11:16 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/source/rtl/gtwvt/gtwvt.c
    ! fixed runtime font modification
2009-08-26 09:16:48 +00:00
Przemyslaw Czerpak
9bbf25760e 2009-08-26 02:34 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/include/hbapifs.h
  * harbour/source/rtl/filebuf.c
    + added hb_fileExists() and hb_fileDelete() functions
    + added support for alternative file IO API used in RDD code which
      can be implemented by 3-rd party developers and registered using
      hb_fileRegister() function.

  * harbour/source/rdd/dbf1.c
  * harbour/source/rdd/dbffpt/dbffpt1.c
  * harbour/source/rdd/dbfntx/dbfntx1.c
  * harbour/source/rdd/dbfnsx/dbfnsx1.c
  * harbour/source/rdd/dbfcdx/dbfcdx1.c
    * use hb_fileExist() and hb_fileDelete() functions for files accessed
      by hb_file*() API
2009-08-26 00:34:58 +00:00
Viktor Szakats
c257e841d5 2009-08-25 18:25 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* config/global.mk
    + Added SVN revision detection and display in log header.
      Will kick in only if svn is installed. For non-live SVN
      sandboxes (exported/nightly/other dl) it will display
      'exported'. It will also show if there was any local
      modifications done by appending an 'M' to revno.
    * TOFIX -> NOTE

  * source/Makefile
    % Minor to recent.
2009-08-25 16:26:15 +00:00
Viktor Szakats
fe19e51d63 2009-08-25 17:32 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* config/global.mk
    + Added dos/djgpp autodetection for *nix platforms.

  * contrib/hbfbird/Makefile
    + Extended autodetection and feedback. Experimenting.

  * config/globsh.mk
    + Added web links to DJGPP FAQ instead of binary FAQ package.

  * contrib/hbqt/Makefile
  * contrib/hbfbird/Makefile
  * contrib/gtqtc/Makefile
  * source/Makefile
  * config/global.mk
    * HB_OS_UNIX GNU Make var renamed to HB_PLATFORM_UNIX.
      Content is now non-empty or empty (was yes or no).

  * config/sunos/sunpro.mk
    + Changes made to config/linux/sunpro.mk applied here also.
2009-08-25 15:34:21 +00:00
Przemyslaw Czerpak
b6b631464c 2009-08-25 16:49 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/config/linux/sunpro.mk
    ! fixed dynamic library creation - @<filename> is not supported by
      SunPRO C compiler, because it's ported only to POSIX environments
      then we can simply pass file list as shell arguments

  * harbour/include/hbrdddbf.h
  * harbour/source/rdd/dbf1.c
  * harbour/source/rdd/dbffpt/dbffpt1.c
    * cleaned memo block size decoding.

  * harbour/include/hbvmpub.h
    + added new internal macro HB_ITEM_PUT_LONGRAW()
  * harbour/source/vm/hvm.c
  * harbour/source/vm/itemapi.c
    * use HB_ITEM_PUT_LONGRAW()
2009-08-25 14:49:44 +00:00
Przemyslaw Czerpak
06b985372b 2009-08-25 12:49 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/source/vm/hvm.c
  * harbour/source/common/expropt2.c
    * cleaned casting in date and timestamp math operations to use exactly
      the same conversions in all places in compiled and HVM
2009-08-25 10:49:57 +00:00
Viktor Szakats
29300e58c3 2009-08-25 10:51 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* bin/postinst.bat
    ! Fixed to work without HB_TOP value. Regression after recent change.

  * contrib/rddsql/sddmy/mysqldd.c
  * contrib/rddsql/sddpg/pgsqldd.c
  * contrib/hbbtree/hb_btree.h
  * contrib/hbbtree/hb_btree.c
  * source/vm/macro.c
  * source/vm/hvm.c
  * source/common/expropt2.c
  * source/compiler/complex.c
    ! Fixed MSVC warnings.
      Please review me, especially the date related ones in core.
    * LONG -> long in hb_compExprReduceTimeStampPut().
    ; NOTE: Number of MSVC (32-bit) -W4 warnings are reduced to 280,
            all of them in RDD code. (plus just few more here and there)
2009-08-25 08:52:54 +00:00
Viktor Szakats
377230eb5a 2009-08-25 03:20 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* bin/postinst.bat
    + Reworked to work better in cross-build/cross-shell scenarios.

  * config/common/watcom.mk
    ! Use envvars to pass parameter either if shell is dos or target.
      This fixes dos/watcom builds under non-dos shells.

  * source/dynlib/mt/Makefile
  * source/dynlib/Makefile
  * config/none.mk
    ! Fixed the way these dynamic lib targets are skipped.

  * package/mpkg_win.nsi
    * Changed to also work on trees using short names.
      (only 'ChangeLog' is a problem here).
      Maybe it's time to rename to CHANGES. It causing too much
      headache.

  * bin/postinst.cmd
    * Sync with .bat.

  * config/global.mk
    + Exporting HB_SHELL for postinst scripts.
    ! Fixed HB_PKGNAME assembly for dos targets.
    ! Typo in comment.

  * config/win/bcc.mk
    ! Deleted dbl quotes from tlib commands as it totally confused it
      under msys shell.
2009-08-25 01:23:07 +00:00
Viktor Szakats
fb0c197484 2009-08-25 02:02 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* doc/bintools.txt
  * config/dosecho.exe
    ! Restored previous version. (new one gave error on some watcom lines f.e.)
    + Added binary+source links.

  * INSTALL
    + Some minor clarifications.
    * 'NT system required' changed 'XP system recommended' for win hosts.
    + Added shell requirement for HB_BUILD_PKG.
    % Simplified os2/watcom on linux example.

  * bin/postinst.cmd
    + Some cleanup/sync with postinst.bat.

  * source/Makefile
    ! Possible fix: Emptying DYNDIRLIST_BASE on dos targets
      to save envvar space.

  * source/Makefile
  * config/lib.mk
    + Added gtcrs and gtsln to dynlib obj list for *nix targets.

  * config/global.mk
    + Added Harbour version number to log header.
    ! Fixed to use short pkg name based on target platform
      no host platform (=dos).

  * config/bsd/gcc.mk
  * config/hpux/gcc.mk
  * config/darwin/icc.mk
  * config/linux/icc.mk
  * config/linux/sunpro.mk
  * config/sunos/gcc.mk
  * config/sunos/sunpro.mk
    + Added dynamic library generation to rest of targets.
    ; Please review, especially sunos/sunpro as it had some
      .sh tricks which I couldn't replicate.

  * config/bsd/global.mk
  * config/hpux/global.mk
  * config/darwin/global.mk
  * config/linux/global.mk
  * config/sunos/global.mk
    ! Setting DYN_PREF to 'lib'.

  * config/wce/mingwarm.mk
  * config/win/mingw.mk
    - Disabled import libs. [They aren't necessary with mingw.]

  * config/darwin/icc.mk
    * Changed to use libtool instead of xiar.
      (blind sync with darwin/gcc)

  * config/dos/djgpp.mk
  * config/common/watcom.mk
  * config/win/bcc.mk
  * config/os2/gcc.mk
    ! Fixed to use $(ECHOQUOTE) in all $(ECHO) calls.

  * config/win/bcc.mk
    ! Fixed use fixed backslashes regardless of shell in scripts.

  * config/dyn.mk
    ! Fixed to use $(LIB_PREF) as implib name prefix.
    % Minor opt in IMP_NAME forming.

  * config/rules.mk
    % Readded $(HB_INC_COMPILE) to be always on cmdline, to
      better balance between cmdline and envvar space. (dos)

  * config/instsh.mk
    % Don't display useless '! Nothing to install' message
      when there was no file to install. (could happen with
      mingw dynamic lib install where implib is empty because
      we don't generate one).
2009-08-25 00:04:06 +00:00
Przemyslaw Czerpak
abd6eb6d59 2009-08-25 01:55 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/include/hbzlib.h
  * harbour/include/hbregex.h
  * harbour/source/rtl/hbsocket.c
  * harbour/config/win/xcc.mk
  * harbour/source/Makefile
  * harbour/contrib/rddsql/sddmy/mysqldd.c
  * harbour/contrib/rddsql/sddpg/pgsqldd.c
  * harbour/contrib/rddsql/sddfb/fbirddd.c
  * harbour/contrib/rddsql/sddodbc/odbcdd.c
  * harbour/contrib/hbwin/hbwinole.h
    ! fixed XCC builds

  * harbour/source/rtl/sha1.c
    * added ugly hack as workaround for bugs in XCC preprocessor

  * harbour/config/win/bcc.mk
    ! fixed BCC DLL building in POSIX shells
2009-08-24 23:56:00 +00:00
Przemyslaw Czerpak
5a6a65ef2c 2009-08-24 14:50 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/include/hbmacro.h
  * harbour/source/macro/macro.yyc
  * harbour/source/macro/macro.y
    * hb_macroIdentNew() made public

  * harbour/include/hbexprb.c
    ! use hb_macroIdentNew() instead of hb_compIdentifierNew()
      in code compiled for macrocompiler
2009-08-24 12:50:42 +00:00
Przemyslaw Czerpak
3424960e82 2009-08-24 13:35 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/include/hbexprb.c
    * minor modification

  * harbour/source/common/expropt2.c
    + added compile time optimization for expression like ("alias")->var
      and ("alias")->(<exp>)
2009-08-24 11:35:57 +00:00
Viktor Szakats
92c93fdc95 2009-08-23 17:55 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* doc/linux1st.txt
    - Deleted Linux build instructions no more relevant.
    * Formatting. Probably this file should be moved into INSTALL.

  * doc/gmake.txt
    * Little updates.

  * harbour-win-spec
  * doc/gmake.txt
  * doc/linux1st.txt
  * doc/whatsnew.txt
  * harbour-wce-spec
  * INSTALL
  * bin/hb-mkdyn.sh
  * bin/postinst.cmd
  * bin/postinst.bat
  * bin/hb-func.sh
  * bin/postinst.sh
  * external/sqlite3/Makefile
  * external/libhpdf/Makefile
  * external/libpng/Makefile
  * mpkg_tgz.sh
  * harbour.spec
  * source/pp/hbpp.c
  * source/pp/Makefile
  * source/vm/Makefile
  * source/vm/cmdarg.c
  * source/vm/vmmt/Makefile
  * source/main/harbour.c
  * source/rtl/gtdos/Makefile
  * source/rtl/gtwin/Makefile
  * source/rtl/gtcrs/Makefile
  * source/rtl/gttrm/Makefile
  * source/rtl/Makefile
  * source/rtl/gtos2/Makefile
  * source/rtl/gtgui/Makefile
  * source/rtl/gtwvt/Makefile
  * source/rdd/Makefile
  * source/Makefile
  * contrib/hbodbc/Makefile
  * contrib/hbsqlit3/Makefile
  * contrib/hbblat/Makefile
  * contrib/hbqt/Makefile
  * contrib/hbxbp/Makefile
  * contrib/hbcurl/Makefile
  * contrib/gtqtc/Makefile
  * contrib/rddsql/sddodbc/Makefile
  * contrib/rddado/Makefile
  * contrib/gtwvg/Makefile
  * contrib/rddads/Makefile
  * contrib/hbfimage/Makefile
  * contrib/hbtip/Makefile
  * contrib/hbwin/Makefile
  * contrib/hbssl/Makefile
  * utils/hbmk2/hbmk2.pt_BR.po
  * utils/hbmk2/hbmk2.hu_HU.po
  * config/none.mk
  * config/global.mk
  * config/lib.mk
  * config/wce/mingw.mk
  * config/bin.mk
  * config/dir.mk
  * config/common/watcom.mk
  * config/win/msvc64.mk
  * config/win/iccia64.mk
  * config/win/mingw64.mk
  * config/win/gcc.mk
  * config/win/msvcia64.mk
  * config/win/pocc64.mk
  * config/header.mk
  * config/dyn.mk
  * config/doc.mk
    * HB_ARCHITECTURE -> HB_PLATFORM
    * hb_arch -> hb_plat (internal script variable)
    * ARCH_COMP -> PLAT_COMP (internal make variable)
    ; INCOMPATIBLE: Please update your environment, if you used this setting.
    ; NOTE: So now Harbour uses only two names for platforms: 'OS' and 'platform'.
            'Architecture' is nowhere used to refer to as an operating system
            anymore. 'Architecture' is only used to refer to CPU/hardware
            architecture.
2009-08-23 15:58:51 +00:00
Viktor Szakats
b14c719757 2009-08-23 17:02 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* doc/gmake.txt
  * doc/man/hbmk.1
  * doc/whatsnew.txt
  * external/sqlite3/Makefile
  * external/libhpdf/Makefile
  * include/hbapi.h
  * include/hbver.ch
  * utils/hbmk2/hbmk2.prg
  * contrib/hbhpdf/Makefile
  * source/vm/cmdarg.c
  * source/main/harbour.c
  * source/rtl/version.c
  * config/global.mk
  * config/dir.mk
  * config/common/watcom.mk
  * config/rules.mk
  * examples/superlib/superlib.hbc
  * examples/superlib/superlib.hbp
  * examples/hbmsql/hbmsql.hbc
  * examples/hbmsql/hbmsql.hbp
  * examples/hbsqlit2/hbsqlit2.hbp
  * examples/hbsqlit2/hbsqlit2.hbc
  * examples/gfspell/gfspell.hbp
  * examples/gfspell/gfspell.hbc
  * examples/hbapollo/hbapollo.hbp
  * examples/hbapollo/hbapollo.hbc
    * HB_ARCH_AUTO -> HB_PLAT_AUTO
    * HB_HOST_ARCH -> HB_HOST_PLAT
    * 'architecture' -> 'platform' in text.
    * HB_VERSION_BUILD_ARCH -> HB_VERSION_BUILD_PLAT
      (INCOMPATIBLE, if you happen to use this from previous dev/beta version)
    * hb_verHB_ARCH() -> hb_verHB_PLAT()
    * ${hb_arch} -> ${hb_plat}

  * INSTALL
    * Minor update.
2009-08-23 15:06:11 +00:00
Viktor Szakats
4b3d269dd9 2009-08-23 14:17 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* source/vm/itemapi.c
    ! Added casts to avoid MSVC -W4 warnings. All of them was related 
      to casting Harbour numeric value number of digits/decimals 
      coming as an 'int' but stored as an USHORT in HB_ITEM.
2009-08-23 12:17:58 +00:00
Viktor Szakats
f1cc34069a 2009-08-23 13:41 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* source/hbpcre/Makefile
  * source/hbzlib/Makefile
    + Added 'HB_BUILD_WARN := no' which causes that these foreign 
      sources will be compiled using default compiler warning level.
      Should avoid a few MSVC warnings.
2009-08-23 11:41:26 +00:00
Viktor Szakats
3d666bbd72 2009-08-22 16:26 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* source/pp/Makefile
    % Deleted rule to delete hbpp_dyn object. No longer necessary 
      after patching hbpp.c. Just left there in prev commit to 
      have this line fixed.
    ! Deleted comment which became irrelevant after prev commit, 
      but forgot to remove it.
2009-08-22 14:27:09 +00:00
Viktor Szakats
43b33b5814 2009-08-22 16:22 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* source/pp/Makefile
    ! Fixed case when OBJ_DYN_POSTFIX was empty (all platforms
      except win/wce non-gcc family) and hbpp object was deleted
      twice, the second one resulting in error message.
    ! Deleted ineffective hack to add an empty line after pptable
      rules. I turned out the behavior I was trying to fix with this
      is totally random.

  * source/pp/hbpp.c
    ! Disabled content when built in HB_DYNLIB. This file should
      never go into a the Harbour dynamic library.
      Of course we already have the object deletion trick, but,
      at least on bcc it doesn't work reliably. After chasing this
      for half a day it turns out bcc build with mingw32-make 3.81
      has some sort of random behvior and sometimes hbpp_dyn.obj is
      deleted, sometimes not. Also 'rm hbpp.obj' either appears at
      the end of the make process, or not, I don't know if there is
      any realtion between the two. Maybe we're exploiting some
      make bugs with bcc rules, I don't know.
      So this patch will make bcc dynamic lib creation reliable.

  * config/global.mk
    * Comments.
2009-08-22 14:24:26 +00:00
Viktor Szakats
657f7fbef1 2009-08-22 13:24 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* source/dynlib/mt/Makefile
  * source/dynlib/Makefile
  * source/Makefile
    - Deleted extra dos platform guards. It's not needed. I hope
      it won't cause bad side effects.

  * config/common/watcom.mk
    ! Fixed to not use $? in LD_RULE. Typo of yesterday.
    ! Restored remaining $? to $^. It exploited some bad side effects
      in hbpp lib.
2009-08-22 11:25:17 +00:00
Viktor Szakats
b312c39d31 2009-08-22 11:59 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* config/globsh.mk
    + Switched os2 $(CP) command to use config/os2-cp.exe.

  * config/instsh.mk
    + Changed os2 install rule to the one used for dos shells except dirsep type.
      Based on real OS/2 tests made by Maurilio Longo. Thank you very much.
      This also means CMDPREF.
    ! Typos in my comment.

  * source/pp/Makefile
    ! Fixed to also check presence of hbpp object before trying to
      delete it. It may not be there in some rare chain of (failure) events.
2009-08-22 10:02:11 +00:00
Viktor Szakats
52e272f02e 2009-08-22 10:21 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* config/rules.mk
  * config/dyn.mk
    ! Fixed to handle dynamic lib creation gracefully for targets
      where this isn't supported. Now a message will be shown.

  + config/os2-cp.exe
  * config/readme.txt
    + Added os2 cp tool. For testing.

  * source/pp/Makefile
  * source/dynlib/mt/Makefile
  * source/dynlib/Makefile
    * Minor rename.
2009-08-22 08:23:05 +00:00
Viktor Szakats
49bbccd676 2009-08-21 22:01 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* source/Makefile
  * config/lib.mk
    + Formatting.
2009-08-21 20:01:30 +00:00
Viktor Szakats
2f918763a2 2009-08-21 21:32 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* config/darwin/gcc.mk
    + Added experimental dynamic lib creation.
    ; TODO: Parameterize internal versioning and name.
    ; TODO: Add links (although this may better be done in
            postinst state most probably). Opinions?

  * source/Makefile
    + Adjusted dynamic lib name for *nix systems.

  * config/wce/mingwarm.mk
  * config/wce/poccarm.mk
  * config/wce/msvcarm.mk
  * config/win/xcc.mk
  * config/win/mingw.mk
  * config/win/pocc.mk
  * config/win/icc.mk
  * config/win/cygwin.mk
  * config/win/msvc.mk
    ! Deleted $(ECHOQUOTE) var (typo).
2009-08-21 19:33:31 +00:00
Viktor Szakats
2a8789652e 2009-08-21 21:00 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* source/vm/maindllh.c
  * source/vm/Makefile
    + Added support for os2 .dll. Please review.

  * config/os2/watcom.mk
    + Added os2 .dll generation for watcom.
      Now it generates OK.

  * source/Makefile
  * config/lib.mk
    + Added support for os2 and some level of *nix support.

  * INSTALL
    * Minor update to a few option description.

  * utils/hbmk2/hbmk2.prg
    + Added preliminary/experimental/untested OS/2 -shared (.dll)
      support for watcom targets.
2009-08-21 19:00:06 +00:00
Viktor Szakats
68ebf06051 2009-08-21 19:54 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* source/dynlib/mt/Makefile
   * source/dynlib/Makefile
     + Added 'install' logic for dynamic lib implibs.

   * config/global.mk
     + Added useful GNU Make link.
     ! Added HB_HOST_CPU "detection" for os2 and dos to avoid
       situation where cross-build is detected due to different
       to HB_CPU value. (HB_CPU autodetection for os2 dos was
       added yesterday). It's quite theoretical, as os2 dos
       has CPU type set to constant 'x86'.
     + Added IMP_DIR value. This hold where to store implibs
       for dynamic libs. Empty if platform don't need implibs
       (huge relief BTW). For *nix this value is set empty, for
       non-*nix it's set to LIB_DIR.
     + Added initialization for DYN_PREF (to empty).

   * config/dyn.mk
     + Added handling of IMP_DIR, IMP_FILE.
     ! Dyn lib build rule guarded with HB_BUILD_DLL and DY_RULE
       checks.

   * config/globsh.mk
     + Added dirbase and clean rules for implibs.
     ! Fixed using OS version of dirs in $(wildcard) for nt
       clean rules for OBJ_DIR and PKG_DIR.

   * config/wce/mingwarm.mk
   * config/wce/poccarm.mk
   * config/wce/msvcarm.mk
   * config/win/xcc.mk
   * config/win/mingw.mk
   * config/win/pocc.mk
   * config/win/bcc.mk
   * config/win/watcom.mk
   * config/win/icc.mk
   * config/win/cygwin.mk
   * config/win/msvc.mk
     + Dynamic lib rules extended to generate implib in IMP_DIR.
       This goes smoothly with all compiler except bcc, which requires
       a copy and a delete to move the implib to lib dir. 'move'
       doesn't work (says 'command not found' or equivalent and
       requires '$(COMSPEC) /C' with GNU Make + nt shell), so I
       didn't use it finally. Anyhow bcc implib is small.

  * config/globsh.mk
    - Deleted $(MV) variable with move command.
      (problematic under nt shells)

  - config/dj-mv.exe
  * config/readme.txt
    - Deleted DJGPP mv tool.

   ; NOTE: dynamic library handling seems to be about feature complete.
2009-08-21 17:55:52 +00:00
Viktor Szakats
e935edcb47 2009-08-21 17:33 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* source/pp/Makefile
    - Deleted just added global.mk. It's not needed.

  * config/globsh.mk
    + Added $(MV) variable with move command.
    + Added $(LN) variable with *nix link command.
    ! Fixed $(RM) in os2 shell rules to use os2-rm.exe 
      instead of shell provided del. Latter show errors 
      if filename doesn't exist, and we're now using 
      clean rules copied from dos shell, which doesn't 
      make extra existance checks. Well, to put it 
      shortly I've synced $(RM) with dos shell solution.

  + config/dj-mv.exe
  * config/readme.txt
    + Added DJGPP mv tool.

  * bin/hb-func.sh
    ! Fixed typo in syslib lone in a recent commit.
2009-08-21 15:32:29 +00:00
Viktor Szakats
9e5ab79cf5 2009-08-21 17:10 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* source/pp/Makefile
    ! Including global.mk at the top to make sure OBJ_DYN_PREFIX is
      initialized.
2009-08-21 15:10:13 +00:00
Viktor Szakats
e7951e0839 2009-08-21 16:52 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* source/pp/Makefile
    ! Deleted double clean rules for hbpp executable + .tds file.
      Since BIN_FILE is set, it will be done in central clean rules 
      anyway.
      This solves the recently shown up error message on 'clean'
      when using certain shells (nt). It was cleaned twice and for 
      some reason this created a problem after switching central 
      rules to use $(wildcard) instead of 'if exist'. Probably
      rules are merged, then evaluated at once, thus leaving 
      two delete commands, since when the file existed when 
      this evaluation took place.
2009-08-21 14:53:34 +00:00
Viktor Szakats
0a002a156d 2009-08-21 16:42 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* source/vm/maindllh.c
  * source/vm/maindllp.c
    ! Fixed DllMain() declaration for msvcarm targets.
      Thanks Przemek for the hint.
2009-08-21 14:41:58 +00:00
Viktor Szakats
efcecedb3e 2009-08-21 16:17 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* source/vm/fm.c
    ! Fixed to suppress fcntl header in dlmalloc for msvcarm targets.
2009-08-21 14:16:41 +00:00
Viktor Szakats
8c65f4fab8 2009-08-21 15:59 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* source/pp/Makefile
    ! Readded empty line after pptable rule.
      I couldn't find the reason why this was needed, anyhow
      without it the dynamic hbpp obj deletion didn't work.
      Which GNU Make syntax rules am I forgetting? Any hints?

    ; TOFIX: Another issue has shown its ugly head, here clean
             in hbpp shows error message from 'del' command on
             nt shell deleting the .exe (and .tds), despite the
             file is there and we're doing wildcard check too. 
             Ideas are welcome. This worked a few days ago.
2009-08-21 14:03:02 +00:00
Viktor Szakats
bfb4a398d8 2009-08-21 14:15 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* source/dynlib/Makefile
  * source/Makefile
    + Moved dynamic lib generation initialization logic to source 
      root Makefile. This ensures that all subdirs are built before
      creating the dynamic libraries.

  * config/globsh.mk
    + Added rules to delete .def files.
2009-08-21 12:15:19 +00:00
Viktor Szakats
ac72071986 2009-08-21 13:34 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* config/win/bcc.mk
  * config/win/watcom.mk
    + Added new .dll build rules.
    ; TODO: Solve handling of generated implib.
    ; TODO: Add dynlib generation logic for *nix targets.
    ; TODO: Delete postinst script if the new method turns out to 
            work alright.

  * config/win/cygwin.mk
  * config/win/icc.mk
  * config/win/xcc.mk
  * config/win/pocc.mk
  * config/wce/mingwarm.mk
  * config/wce/poccarm.mk
  * config/wce/msvcarm.mk
    + Implemented .dll creation for rest of win/wce compilers:
        icc uses the same logic as msvc.
        pocc/poccarm/msvcarm/xcc uses the same logic as msvc
          except /subsystem option.
        mingwarm/cygwin uses the same logic as mingw.
    ; I didn't test wce ones yet.

  * config/win/msvc.mk
    % Using $(wildcard) instead of echo trick to delete __lib__.tmp.

  * config/win/mingw.mk
  * config/win/msvc.mk
    * Moved HB_USER_DFLAGS in cmdline.

  * config/win/watcom.mk
  * config/dos/watcom.mk
  * config/linux/watcom.mk
  * config/os2/watcom.mk
    + Added 'OP quiet' option to wlink command.

  * source/pp/Makefile
    ! Using OBJ_DYN_POSTFIX instead of hardwired value.

  * source/vm/mainwin.c
  * source/vm/mainstd.c
    ! Typo in prev commit regarding watcom/dynlib hack.

  * source/rtl/gtwvt/gtwvt.c
    ! Fix for msvcarm build, where WS_OVERLAPPEDWINDOW macro
      is reported missing.
2009-08-21 11:39:05 +00:00
Viktor Szakats
0bd133a771 2009-08-21 12:46 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* source/Makefile
    ! Fixed typo in prev commit.

  * config/global.mk
  * config/wce/poccarm.mk
  * config/wce/msvcarm.mk
  * config/win/xcc.mk
  * config/win/mingw.mk
  * config/win/pocc.mk
  * config/win/bcc.mk
  * config/win/watcom.mk
  * config/win/icc.mk
  * config/win/msvc.mk
  * config/dyn.mk
  * config/rules.mk
    + Added OBJ_DYN_POSTFIX variable instead of hardcoded '_dyn'.

  * config/global.mk
  * config/dyn.mk
    + Added DYN_DIR. Set to LIB_DIR for *nix, BIN_DIR for non-*nix.

  * config/globsh.mk
    + Added dynamic lib dir/file related dir creation and cleanup rules.

  * config/win/mingw.mk
  * config/wce/mingwarm.mk
    + Added space between -o and output filename.
      (this should probably be made default)

  * config/win/mingw.mk
    + Added .dll build rules.

  * config/win/bcc.mk
    % Using $(wildcard) instead of echo trick to delete __lib__.tmp.
2009-08-21 10:46:11 +00:00
Viktor Szakats
bd8d9d6158 2009-08-21 11:29 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* source/dynlib/Makefile
  * source/Makefile
  * config/rules.mk
  * config/dyn.mk
    + Respect HB_BUILD_DLL=no setting.
    * Don't try to create .dll if there were no compiler local rules set.
2009-08-21 09:30:24 +00:00