Commit Graph

16 Commits

Author SHA1 Message Date
Viktor Szakats
c7e69160ac 2011-04-25 22:30 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* contrib/hbct/hbct.hbp
    * raise c dialect to gnu90 on linux for stime()
  * contrib/hbwin/wapi_winbase.c
    ! define WAPI_GET*PATHNAME() as noop functions on wce
  * contrib/hbwin/win_shell.c
    ! made WIN_SHELLNOTIFYICON() a dummy on wce
  * contrib/hbwin/mapi.c
    ! do not undef UNICODE for wce (results in missing LoadLibraryA() on link)
  * contrib/hbwin/wapi_commctrl.c
    ! made WAPI_IMAGELIST_LOADIMAGE() a dummy on wce
  * contrib/sddfb/sddfb.hbp
  * contrib/hbfbird/hbfbird.hbp
    * set c dialect to gnu90 for fbird headers
  * contrib/hbpre.hbm
    * set c dialect to gnu90 for wce/allmingw for cegcc Windows headers
2011-04-25 20:34:20 +00:00
Viktor Szakats
a576d4bbc3 2011-04-21 19:24 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* utils/hbmk2/hbmk2.prg
    + Added -c=/-cpp= dialect support for sunpro, icc, clang, watcom.
      Many thanks to Tamas for the information.
    + Added dialect support for vxworks/diag

  * contrib/hbpre.hbm
    - do not set any C++ std in contrib area
      it's a mess.
2011-04-21 17:24:42 +00:00
Viktor Szakats
9b27f5e707 2011-04-21 03:11 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* utils/hbmk2/hbmk2.prg
    + Added experimental -c=[iso90|iso99|iso1x|gnu90|gnu99|gnu1x] and
      -cpp=[iso98|iso0x|gnu98|gnu0x] hbmk2 options to select
      C/C++ dialect in a C compiler and built setting independent way.
      It will currently affect GCC and compatible family of compilers.
      If you happen to know about C dialect/std selection in other
      compilers, pls tell and they can be mapped to this option.
      F.e. in other win compilers the adaptation to C/C++ stds is very
      fuzzy, where such option exists at all (f.e. BCC -A* options),
      mostly it's just toggling some compiler extensions.
      Comments are welcome of course.
    + Added TOFIX for vxworks with potential disagreement on C std level.
      I used hardwired C99 forcage hack while porting Harbour to it.
    + Added internal logic for C- and C++-only options.
    ; NOTE: Behavior with Objective C sources is yet to be tested.

  * contrib/hbmzip/3rd/minizip/minizip.hbp
  * contrib/hbunix/hbunix.hbp
  * contrib/gtalleg/gtalleg.hbm
  * contrib/xhb/xhb.hbp
  * contrib/hbqt/hbqt_common.hbm
  * contrib/rddads/rddads.hbp
  * contrib/hbfimage/hbfimage.hbp
  * contrib/hbpre.hbm
  * contrib/hbssl/hbssl.hbm
    + -cflag=-std=... => -c=gnu90 hbmk2 option.
2011-04-21 01:12:24 +00:00
Viktor Szakats
609bc45771 2011-04-20 13:13 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* contrib/hbmxml/hbmxml.hbp
  * contrib/hbmxml/3rd/minixml/mxml.hbp
  * contrib/hbmzip/3rd/minizip/minizip.hbp
  * contrib/gtalleg/gtalleg.hbm
  * contrib/hbbz2/3rd/bz2/bz2.hbp
  * contrib/rddads/rddads.hbp
  * contrib/hbfimage/hbfimage.hbp
  * contrib/hbpre.hbm
  * contrib/hbssl/hbssl.hbm
    ! -std=c90 -> -std=c89, -std=gnu90 -> -std=gnu89
      Some gcc builds have problem with c90.
2011-04-20 11:14:15 +00:00
Viktor Szakats
d552b5476b 2011-04-20 11:27 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* utils/hbmk2/hbmk2.prg
    + -depincpath= now supports multiple paths separated by ';'
      (on all platforms)

  * contrib/3rd/sqlite3/sqlite3.hbp
    ! Fixed wrong hbmk2 filter expression.

  * contrib/hbmzip/3rd/minizip/minizip.hbp
  * contrib/rddads/rddads.hbp
  * contrib/hbpre.hbm
    * -std=c89/gnu89 -> -std=c90/gnu90. same, but gcc recommends the latter.

  * contrib/hbhpdf/core.c
  * contrib/rddsql/sqlmix.c
    ! Fixed C++ comments.

  * contrib/hbmxml/hbmxml.hbp
  * contrib/hbmxml/3rd/minixml/mxml.hbp
    ! -std=gnu90 for strdup()

  * contrib/hbbz2/3rd/bz2/bz2.hbp
  * contrib/hbssl/hbssl.hbm
    ! -std=gnu90 for fileno

  * contrib/hbfimage/hbfimage.hbp
  * contrib/gtalleg/gtalleg.hbm
    ! -std=gnu90 for 3rd party headers.

  * contrib/hbbz2/3rd/bz2/bz2.hbp
    % Enabled BZ_STRICT_ANSI. This effectively disanled bzdopen(),
      so if anyone needs it, speak up.

  * contrib/hbqt/hbqt_common.hbm
    ! Temp hack to override -std option for C++.
2011-04-20 09:27:44 +00:00
Viktor Szakats
443ac3a1ae 2011-04-20 03:43 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* utils/hbmk2/hbmk2.prg
    + new filter values: lngcpp and lngc. Can be used to
      check forced C++/C mode.

  * contrib/hbmzip/3rd/minizip/ioapi.h
  * contrib/hbmzip/3rd/minizip/zip.h
  * contrib/hbmzip/3rd/minizip/minizip.dif
    ! C++ -> ANSI C comments

  * contrib/hbmzip/3rd/minizip/minizip.hbp
    ! Override c89 mode with gnu89. For f*64() functions.

  * contrib/rddads/rddads.hbp
    ! Override c89 mode with gnu89. ADS headers need it.

  * contrib/hbpre.hbm
    + Forcing c89 mode for GCC family compilers (in non C++ forced mode)
      Results were pretty good and Harbour/3rd party code complies
      very well.

  * contrib/hbunix/hbunix.hbp
  * contrib/hbcurl/hbcurl.hbm
  * contrib/hbnetio/hbnetio.hbp
  * contrib/gtwvg/gtwvg.hbp
  * contrib/hbwin/hbwin.hbp
  * contrib/hbsqlit3/hbsqlit3.hbp
  * contrib/hbexpat/hbexpat.hbp
  * contrib/hbmemio/hbmemio.hbp
    - Deleted just added local c89 mode forcage. Now it's done global.

  * contrib/hbqt/qtgui/hbqtgui.h
    ! Fixed HBQT_TYPE_QIcon redefinintion. Pls check, I didn't rebuild the
      whole package after the mod.
2011-04-20 01:45:35 +00:00
Viktor Szakats
58de824eb2 2010-11-07 13:49 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* utils/hbmk2/hbmk2.prg
    * Changed the way target selection (-hblib, -hbdyn*, -hbexe, etc)
      options are handled. So far the last one specified remained
      active, now the first one specified will stay active.
      IOW: 'hbmk2 -hbdyn mylib.hbp' will result in dynamic lib target,
           even if mylib.hbp contains -hblib option.
    ; Beware of some regressions or incompatibility with certain
      build configs.

  * contrib/hbpost.hbm
  * contrib/hbpre.hbm
    * Moved -hbdyn option to hbpre.hbm. This makes it possible
      for .hbp files to act differently when built as dynamic lib.
    ; Such will be required for 

  * external/libhpdf/libhpdf.hbp
    * Cleared TOFIX after above changes.

  * contrib/hbplist
  * contrib/hbmzip/hbmzip.hbp
  * contrib/hbmzip/hbmzip.hbc
  - external/minizip
  + contrib/hbmzip/3rd
  + contrib/hbmzip/3rd/minizip
  * contrib/hbmzip/3rd/minizip/minizip.hbc
  * contrib/hbmzip/3rd/minizip/minizip.hbp
  - contrib/hbmzip/3rd/minizip/Makefile
    * Moved minizip dir under the contrib that uses it.
    ; Please test.
2010-11-07 12:50:38 +00:00
Viktor Szakats
7eec4df01c 2010-09-29 23:48 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* contrib/hbqt/qtcore/hbqt_misc.prg
    % Optimized HbQtObjectHandler:connect() and HbQtObjectHandler:disconnect()
    ! Type in error msg text in hbqt_error()
    % Deleted unnecessary headers.

  * contrib/hbpre.hbm
    * Turned off -trace by default. You can now turn on with HB_BUILD_VERBOSE=yes
2010-09-29 21:48:50 +00:00
Viktor Szakats
a04f40b3d3 2010-07-29 14:38 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* package/harbour-win.spec
  * package/harbour-wce.spec
  * config/global.mk
  * INSTALL
    * Renamed HB_BIN_COMPILE to HB_HOST_BIN
      (old pending TODO)

  * tests/flink.prg
    + Added comment.
    + Added example to dir symlink.

  * contrib/hbpre.hbm
    + Added comments.

  * config/beos/gcc.mk
  * config/global.mk
  * config/qnx/gcc.mk
  * config/bsd/gcc.mk
  * config/bsd/clang.mk
  * config/bsd/pcc.mk
  * config/wce/mingwarm.mk
  * config/wce/poccarm.mk
  * config/wce/msvcarm.mk
  * config/vxworks/gcc.mk
  * config/vxworks/diab.mk
  * config/darwin/gcc.mk
  * config/darwin/icc.mk
  * config/darwin/clang.mk
  * config/hpux/gcc.mk
  * config/dos/watcom.mk
  * config/dos/djgpp.mk
  * config/c.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
  * config/linux/watcom.mk
  * config/linux/gcc.mk
  * config/linux/icc.mk
  * config/linux/clang.mk
  * config/linux/sunpro.mk
  * config/rules.mk
  * config/os2/watcom.mk
  * config/os2/gcc.mk
  * config/sunos/gcc.mk
  * config/sunos/sunpro.mk
    * Renamed HB_INC_COMPILE to HB_HOST_INC
      (it's still not precise name, just in sync with HB_HOST_BIN.
      In Harbour there is no difference between headers accross
      the platforms, so they could just be called something more
      neutral. If you have an idea, pls speak up.)
2010-07-29 12:40:41 +00:00
Viktor Szakats
3e8d2bc9e5 2010-07-28 13:04 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* contrib/hbpre.hbm
    + Enabled -trace for contribs by default (HB_BUILD_VERBOSE=no will 
      disable it for now), to better resemble core build process.
2010-07-28 11:04:58 +00:00
Viktor Szakats
7594fcc649 2010-07-28 12:56 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* contrib/make.hbs
    % Cleaned away test/migration modes.
    * One STATIC var changed to local.

  * contrib/hbpre.hbm
    + It's now possible to get all hbmk2 output along the Harbour
      build process by setting HB_BUILD_VERBOSE=yes.

  * examples/hbdoc2/gentpl.prg
  * examples/hbdoc2/genhtml.prg
  * examples/hbdoc2/hbdoc2.prg
    % Optimized out another pathsep holder variable.
2010-07-28 10:56:37 +00:00
Viktor Szakats
2090585ee1 2010-07-21 14:46 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* contrib/hbqt/hbmk2_plugin_qt.hbs
    + Do not pollute output with meaningless error message, when 
      HB_WITH_QT=no is used.

  * contrib/hbpgsql/postgres.c
    ! Fixed msvc C mode warning. (this one is valid, though I 
      couldn't find out why this is only reported in C mode, 
      there are also some other seemingly unfixable warnings 
      reported in C mode.)

  * contrib/hbpre.hbm
    + Will now enable C++ mode by default for msvc compilers, 
      to stay in since with GNU Make behavior.

  * utils/hbmk2/hbmk2.prg
    ! Fixed to not rebase dirs passed to -deptimplibs options.
    ! Fixed to stay silent but still fail when dependencies
      are forcefully disabled.
    ! Reorganized msvc compiler version dependent options to
      better handle the case when no compiler version is present
      (to go with the less risky option in such case)

  * config/global.mk
    + Added msvc64 and msvcia64 version detection.
    * Renamed one variable to avoid being same as new hbmk2 macro.

  * config/postinst.hbs
    * Minor in feedback text.
2010-07-21 12:46:54 +00:00
Viktor Szakats
618d38b205 2010-07-19 21:00 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* contrib/make.hbs
  * contrib/hbpre.hbm
    + Will now automatically rebuild all dependent contribs.
      So f.e. when building hbide, it will automatically update
      hbqt then hbxbp. Pls note that extra hbmk2 options passed
      at the cmdline are only applied to primary target.
    + Will now automatically sort the list of contribs in order
      of dependency.
      [ there is quite interesting tree parsing/building and
      topological sorting employed. ]
    + Added log message at the end of the build process.
    + Standalone mode will now launch raw hbmk2 session if
      anything non-option and non-GNU control keyword is passed
      to it (f.e. a .hbp or a .prg). In such case it will act
      as plain hbmk2 call.
    ! Fixed -quiet keyword to be really quiet (should be on the
      cmdline for that effect).
    + Added GPL2 license header.

  * contrib/Makefile
    % Greatly simplified.

  * contrib/hbqt/hbmk2_plugin_qt.hbs
    + Changed to do all tool detection in init 'pre_all' stage,
      and return an error if anything is missing. This allows
      hbmk2 to gracefully end the build process in such case.

  * utils/hbmk2/hbmk2.prg
    + hbmk2 will now gracefully exit with errorlevel 20 if
      any plugins return error at 'pre_all' stage.
    + --hbinfo will now return whether incremental mode is
      enabled for a project.
    + Plugins can now return at 'init' stage, in such case
      the plugin will be instantly unloaded.
    + hbmk2 will now display the stage where error is reported
      by plugins.
    * Experimental trick added: On win/wce/os2/dos platforms,
      if no explicit dependency location path was set by user
      (using HB_WITH_*) and there was no locally hosted location
      specified either, hbmk2 will show a warning instead of
      an error.
    + Added new internal variable to store implib extension.
      (OS/2 supports .imp as such extension, although hbmk2
      does not yet)
    + Replaced os2/gcc -implib method with a new post cmd method
      (instead of using --out-implib mingw-like option which
      doesn't exist in OS/2). Thanks Maurilio for tests and
      information.

  * INSTALL
    + Added more visibility and more clear wording to TROUBLESHOOTING
      section reference in top of INSTALL doc.
    + Numbered items in TROUBLESHOOTING section so that they can be
      easily referred to.
    + Added new TROUBLESHOOTING suggestion (somewhat redundant)
      to first try to remove any special build options.

  * Makefile
    + Never attempt to run postinst.bat and postinst.cmd.

  * ChangeLog
    * Changes marked as DONE.
2010-07-19 19:04:29 +00:00
Viktor Szakats
9e5eb6af23 2010-07-18 1:04 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* config/postinst.hbs
    * Changed to only create .hbd documentation file for the
      core. This is to ensure separation of components.

  * contrib/Makefile
    - Deleted old Makefile-based build logic in contrib area,
      now this make file does nothing else than passing the
      control to make.hbs Harbour script.

  * contrib/make.hbs
  * contrib/hbpre.hbm
  * contrib/hbpost.hbm
    % Moved -instpath options to hbpost.hbm to save cmdline length.
    % Moved HB_BUILD_SHARED control logic from make.hbs to hbpost.hbm
    ! -warn option moved to hbpre from hbpost, so libs can override it
      (can be important for external code)
    + Will now compile .hbd binary documentation in 'install' phase
      and copy it to HB_DOC_INSTALL.
    * Internal pathsep cleanup.
    ! Fixed to accept 'install'/'clean' regardless of casing.
    + Now accepts HB_BUILD_CONTRIBS instead of HB_CONTRIBLIBS
      (though old envvar still work for while)
    + Log feedback now show the build action executed.
    + Added more TODOs.

  * INSTALL
    * Documented the change to HB_BUILD_CONTRIBS from HB_CONTRIBLIBS.

  * utils/hbmk2/hbmk2.prg
    + Will now automatically recognize HB_BUILD_NAME envvar and
      convert it to -build= cmdline option.

  * contrib/hbodbc/todbc.prg
  * contrib/hbodbc/odbcold.c
  * contrib/hbodbc/odbc.c
    * Renamed SQLSTOD to HB_ODBCSTOD
    * Renamed SQLSETNUMLEN to HB_ODBCSETNUMLEN.
    * Old names are deprecated with HB_LEGACY_LEVEL3.
      If you happen to use these function names, pls update to
      the new ones ASAP.
2010-07-18 09:04:59 +00:00
Viktor Szakats
1979515ea0 2010-07-09 22:57 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* contrib/make.hbs
  * contrib/hbpre.hbm
    ! Fixed -build option to be always passed on the cmdline.
    % Cleaned 'hbmk2 --hbinfo' cmdline.
2010-07-09 20:58:46 +00:00
Viktor Szakats
e98db3a241 2010-07-09 22:49 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* utils/hbmk2/hbmk2.prg
    + --hbrefs option renamed to --hbinfo and now also includes
      target type.
    + Extended target detection with 'hbppo' and 'hbhrb' types.
      These are automatically detected from Harbour option usage.
    + Added ${hb_outputname} macro. Returns the output name as
      specified with -o option, without extension. Returns empty
      if there wasn't -o option at the point of usage.
    + Added ${hb_outputdir} macro. Returns the output dir as
      specified with -o option. Returns empty if there wasn't
      -o option at the point of usage.
    + -p -s options don't require to manually select -hbraw
      mode, it will be autodetected.
    ! Fixed to not interpret -i- Harbour option as include dir.
    + Don't add the same Harbour option twice.

  * contrib/Makefile
  * contrib/make.hbs
  + contrib/hbpost.hbm
  + contrib/hbpre.hbm
    % Cleaned the way build options are passed to hbmk2.
    + Synced much more options and build behavior of hbmk2
      based contrib build with GNU Make build (debug, unicode,
      warnings, Harbour settings, C settings)
    + Added more projects to hbmk2 build method.
    % Deleted MS-DOS specific hack (for now) because the new
      cmdlines are very short.
    ; TODO: Now make.hbs is not self-contained, which would 
            better be solved somehow.

  * contrib/make.hbs
    + It will now detect and show target type in stdalone mode.
    + Synced default build options with GNU Make.

  * contrib/hbqt/hbqts.hbp
  * contrib/hbqt/hbqtguis.hbp
  * contrib/hbqt/hbqtcores.hbp
  * contrib/hbqt/hbqtnetworks.hbp
    + Added -hblib option to make it easy to detect target type
      for 3rd party tools.

  * contrib/hbnetio/utils/netiosrv.prg
    + Will now also accept .hbs and .prg files as RPC filters.

  - contrib/hbnetio/utils/modules
  * contrib/hbnetio/utils/modules.hbp
  + contrib/hbnetio/utils/rpcdemo.hbs
    * Renamed RPC demo to .hbs.
    * Deleted modules subdir.

  - contrib/hbnetio/utils/hbmk.hbm
  * contrib/hbnetio/utils/hbnetio.hbp
    - Deleted separate hbmk.hbm.

  * contrib/hbnetio/utils/netiocmd.prg
    ! Minor in help screen.

  * contrib/hbnetio/tests/netiotst.prg
    + Added some feedback.
2010-07-09 20:51:12 +00:00