Commit Graph

22 Commits

Author SHA1 Message Date
Viktor Szakats
c8a32bfc8c 2010-06-09 19:56 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* utils/hbmk2/hbmk2.prg
    + Quite big commit aiming to clean path forming in different
      situations. After this is change it should be more or less
      true that internally hbmk2 always uses native path format,
      it should accept _any_ format regardless of platform,
      and it should convert filenames to proper format only when
      calling external compiler tools, according to their specific
      taste.
      F.e. this should fix problems when doing Windows cross-build
      on *nix systems, with watcom, or other compilers (except
      mingw) which has native compiler. It should continue to
      work with WINE based on compilers in similar situations.
      There is one specific exception when passing around
      filenames as part of options. In this case hbmk2 cannot do
      too much magic, so try to avoid it.
      Though I never actualluy tried this latter case.
      Please test it, regressions are possible. I'd be happy to 
      see stress tests with passing various combination of pathseps 
      and watching -trace output whether everything is properly 
      converted to right format.
    + Will now convert filenames to Cygwin format for Cygwin
      targets.
    ! Fixed to accept .hbi files without '@' prefix.

  * config/postinst.prg
    % Do not add '@' prefix when referring to .hbi files.

  * src/vm/extend.c
    ! Fixed TRACE message of new hb_parnintdef() function.

  * src/rtl/hbcomhb.c
    * Minor correction to one function description in comment.

  * src/rtl/hbsocket.c
    * Minor formatting.

  * include/hbcom.ch
    + Added comments.
    * Formatting.
    + Added comment that code is used by .c code.

  * contrib/hbtpathy/telepath.prg
    * Rewritten to use native HB_COM*() API (instead of hbct
      specific COM_() one).
    + tp_send() code rewritten to use core timeout functionality.
    + Implemented formerly disabled tp_ctrldtr() function.
      (pls review it)
    % FetchChars() internal function simplified.

  * contrib/hbcomm/hbcomm.prg
    * Rewritten to use native HB_COM*() API (instead of hbct
      specific COM_() one).

  * contrib/hbsms/hbsms.prg
    * Rewritten to use native HB_COM*() API (instead of hbct
      specific COM_() one).
    * Receive code rewritten to rely on core timeout functionality
      instead of rolling local implementation.

  ; I didn't make any tests with API converted COM code, so please
    review and test these changes.

  * contrib/hbtpathy/hbtpathy.hbc
  * contrib/hbcomm/hbcomm.hbc
  * contrib/hbsms/hbsms.hbc
    - Deleted hbct dependency.

  * INSTALL
  * package/winuni/RELNOTES
    * QT 4.6.2 -> 4.6.3
2010-06-09 17:57:34 +00:00
Viktor Szakats
c853e5052d 2010-06-08 21:21 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* include/hbextern.ch
    + Added new HB_SOCKET*() functions.

  * config/postinst.prg
    ! Fixed to exclude whole extra shared binary creation for 
      all platforms except win/wce/os2.

  + examples/udpds/udpds.hbp
    + Added hbmk2 make file.
2010-06-08 19:23:12 +00:00
Viktor Szakats
163ee53500 2010-06-06 00:50 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* INSTALL
  * external/sqlite3/Makefile
  * utils/hbmk2/hbmk2.prg
  * config/global.mk
  * config/wce/msvcarm.mk
  * config/win/msvc.mk
    * Changed HB_COMPILER_VER values for msvc targets. Previously it was
      the Visual Studio version, now it is the C compiler version,
      the same value used in _MSC_VER predefined macro:

         Name                                    old  NEW
         -------------------------------------- ---- ----
         C Compiler version 6.0                       600
         C/C++ compiler version 7.0                   700
         Visual C++, Windows, version 1.0        100  800
         Visual C++, 32-bit, version 1.0         100  800
         Visual C++, Windows, version 2.0        200  900
         Visual C++, 32-bit, version 2.x         200  900
         Visual C++, 32-bit, version 4.0         400 1000
         Visual C++, 32-bit, version 5.0         500 1100
         Visual C++, 32-bit, version 6.0         600 1200
         Visual Studio .NET (2002), version 7.0  700 1300
         Visual Studio .NET 2003, version 7.1    710 1310
         Visual Studio 2005, version 8.0         800 1400
         Visual Studio 2008, version 9.0         900 1500
         Visual Studio 2010, version 10.0       1000 1600

      INCOMPATIBLE for users setting HB_COMPILER_VER manually, pls
      change the value as indicated above. For most users it's
      recommended to rely on autodetection and not to set this
      variable at all.

  * config/postinst.prg
    ! Fixed to use hb_osFileMask() instead of hard-coded '*' mask.
2010-06-05 22:53:22 +00:00
Viktor Szakats
0338672fa7 2010-06-05 14:25 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* config/postinst.prg
    ! Fixed to use platform native pathseps in few remaining places.

  * examples/uhttpd2/socket.c
  * examples/httpsrv/socket.c
    + Added copyright header.
2010-06-05 12:26:00 +00:00
Viktor Szakats
0513bda029 2010-05-30 19:59 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* contrib/xhb/hbcompat.ch
  * contrib/xhb/xhbfs.c
    ! Deleted FILESIZE(). It's not an xhb compatibility function, 
      but one offered as part of CT lib in xhb, and HBCT in Harbour.

  * src/common/hbver.c
    + Added compiler version detection for clang 2.x (and newer)
      Patch by Tamas Tevesz.

  * INSTALL
    * Minor.

  * config/bsd/clang.mk
  * config/linux/clang.mk
    + Clearing forced C++ mode if clang 1.x is detected.
      (Patch from Tamas Tevesz. Slight fix added by me to
      set HB_CMP when falling back to C mode. I didn't make
      tests though.)
    ; NOTE: Probably HB_BUILD_MODE=c should be export-ed
            to avoid double evaluation. Pls test it.

  * config/postinst.prg
  * config/ren_sfn.prg
    + Raised warning level to 3.
2010-05-30 18:01:29 +00:00
Viktor Szakats
3562c1e4b8 2010-05-25 16:42 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* INSTALL
    + Added one more envvar which is apparently used by users 
      even though it does nothing since many years.
      (see '10. TROUBLESHOOTING' section)

  * config/postinst.prg
    * Minor cleanups.
2010-05-25 14:43:31 +00:00
Viktor Szakats
ceecd43fa9 2010-05-23 15:53 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* utils/hbmk2/hbmk2.prg
    + Changed filtering implementation for cmdline parameters.
      Now filters can be placed anywhere and they work for all 
      parameters.
      Please test, regressions may be possible.

  * config/postinst.prg
    ! Added gpm handling logic to hbmk.cfg creation. This was 
      previously done in recently deleted postinst.sh function.
2010-05-23 13:53:57 +00:00
Viktor Szakats
dc9e6e1604 2010-05-16 23:36 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* debian/rules
  - doc/man/hbmk.1
  + doc/man/hbmk2.1
    ! Renamed to hbmk2 to be in sync with name of the tool.

  * Makefile
    ! Fixed to always descend into utils directory,
      because (in 'install' mode) hbrun and hbmk2 needs
      to be built regardless of HB_BUILD_PARTS setting.

  * contrib/hbfbird/hbfbird.hbi
    ! Fixed to set output libname. This is needed because
      we can't rely on input filename due to mingw trick.

  * config/global.mk
    + Show HB_BUILD_IMPLIB setting. Now there is nothing
      hackish in it, so it can be fully supported setting.

  * config/postinst.prg
    % Minor optimizations in hbmk2 invocation lines.
      (removed unnecessary spaces, using envvar macros,
      deleted unnecessary double quotes)
    ! Fixed (in two places) to only invoke hbmk2 if
      HB_HOST_BIN_DIR envvar is set.
    ! NSIS invocation command made more friendly to cross
      platform environment by using native pathsep.
    + Will now echo the external commands issued to stdout.
2010-05-16 21:41:13 +00:00
Viktor Szakats
7bcb7dd307 2010-05-16 19:01 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* config/postinst.prg
    + Added new experimental envvar:
         HB_BUILD_ADDONS=prj1.hbp prj2.hbp prjn.hbp
      Harbour build process will initiate the build of the passed 
      .hbp files at 'install' phase.
    % Simplification to other hbmk2 invocation commands.

  * contrib/hbwin/win_svc.c
    ! Fixed to set running status only if entry function 
      is valid and able to reenter HVM.
    + Added trace message when entry function cannot be found.
2010-05-16 17:06:07 +00:00
Viktor Szakats
90ef2137c0 2010-05-12 22:17 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* INSTALL
    * Two minor cleanups

  * config/postinst.prg
    + Will now honor HB_CONTRIBLIBS and HB_CONTRIB_ADDONS
      when creating import libraries. IOW it will only create
      implibs to the contribs actually built.

  * utils/hbmk2/hbmk2.prg
    + Added trick when using real xhb toolchain to detect
      -tW C flag and in this case automatically select the ST
      C RTL library. (Notice that -tW will only be detected
      when passed normally via cmdline or script, and not
      when using legacy HB_BUILD_CFLAGS envvar or inherited
      compiler flags).
2010-05-12 20:19:12 +00:00
Viktor Szakats
78ff060214 2010-05-12 18:34 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* config/postinst.prg
    - Deleted -trace option left there.
2010-05-12 16:34:40 +00:00
Viktor Szakats
88a247ea23 2010-05-12 16:58 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
+ contrib/gtalleg/gtalleg.hbi
  + contrib/hbblat/hbblat.hbi
  + contrib/hbcairo/hbcairo.hbi
  + contrib/hbcurl/hbcurl.hbi
  + contrib/hbfbird/hbfbird.hbi
  + contrib/hbfimage/hbfimage.hbi
  + contrib/hbgd/hbgd.hbi
  + contrib/hbhpdf/hbhpdf.hbi
  + contrib/hbmysql/hbmysql.hbi
  + contrib/hbpgsql/hbpgsql.hbi
  + contrib/hbssl/hbssl.hbi
  + contrib/rddads/rddads.hbi
  + contrib/sddfb/sddfb.hbi
  + contrib/sddmy/sddmy.hbi
  + contrib/sddoci/sddoci.hbi
  + contrib/sddpg/sddpg.hbi
    + Added local import library generation hbmk2 make files
      to each contrib which requires it.

  * config/postinst.prg
    + Changed to use contrib local implib creation hbmk2 scripts to
      create import libraries.
    - Deleted mingw exception for ocilib to use the static library.
      Static lib is definitely better, but if someone would like to
      use it, it should be done locally/manually, just like for any
      other dependency.
    + Solved firebird implib creation hack/exception in contrib
      local .hbi file.
    ; These fix the last "centralization" issues in Harbour make system.
      Still remains documentation problem (everything is in INSTALL),
      and *nix .deb/.rpm centralized solution for contrib dependencies
      and contrib names in general.

  * utils/hbmk2/hbmk2.prg
    + Combining multiple -o options (one with name, one with directory)
      is now supported in -hbimplib mode. This makes it work like in
      other existing modes.
    ! Fixes regarding -o option combining and dir inheritance.
      (beware of regressions here)

  * contrib/gtalleg/gtalleg.hbc
    * Changed to use import library on Windows with an unmodified name
      (containing version).

  * src/rtl/hbcom.c
    ! Fixed one non-ANSI comment.

  * ChangeLog
    + Added two changes missed from prev entry:
      * utils/hbmk2/hbmk2.prg
        + In -hbimplib mode any options are automatically passed to
          import library creation command (so -iflag option is not
          absultely needed)
        - Deleted -mkimplibms option now replaces by generic -iflag
          solution.
    ! Stripped UTF-8 char from a recent entry.
2010-05-12 15:02:01 +00:00
Viktor Szakats
2fed94876d 2010-05-12 09:20 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* utils/hbmk2/hbmk2.pt_BR.po
  * utils/hbmk2/hbmk2.hu_HU.po
  * utils/hbmk2/hbmk2.prg
    - Deleted 'experimental' flags from all features.
    * Finalized import lib creation feature in hbmk2.
      + Added -hbimplib mode switch (this replaces -mkimplib= option)
      + Input source files (.dlls) now should be passed to
        hbmk2 as simple source filenames (without option prefix).
      + Multiple input source files are now supported.
      + Added -iflag= option to pass flags to import library creation
        command directly.
      * Changed so that target import library name/dir can now be
        specified using -o option (like in other modes).
      + Filenames/dirs are now all normalized.
      + Some warnings are now only shown in -info mode.
      ; F.e.:
          'hbmk2 -hbimplib mydll1 mydll2 -omydir -iflag={bcc}-a'
        This also means that a simple .hbp file can be created
        to solve the import library needs for a given dependency.

  * config/postinst.prg
    * Adapted to use new import library creation hbmk2 commands.

  * src/rtl/hbcom.c
    ! Fixed minor typo.
2010-05-12 07:24:05 +00:00
Viktor Szakats
0ddac6c7ab 2010-05-11 22:22 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* contrib/hbziparc/Makefile
  * contrib/hbziparc/hbziparc.prg
    ! Fixed <lOverWrite> support in HB_ZIPFILE().

  * config/postinst.prg
    % Simplified local implib creation logic.
2010-05-11 20:27:03 +00:00
Viktor Szakats
d4c09be821 2010-05-11 21:16 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* config/postinst.prg
    ! Fixed forming quoted paths in implib creation commands.

  * INSTALL
    ! Deleted space at EOL.
2010-05-11 19:21:03 +00:00
Xavi
d5985ec7e0 2010-05-10 21:47 UTC+0200 Xavi (jarabal/at/gmail.com)
* config/postinst.prg
    % Corrected tipo.
2010-05-10 19:51:14 +00:00
Viktor Szakats
fc252a9d38 2010-05-09 14:10 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* config/global.mk
    + Added autodetection of mingw/cygwin compiler versions.

  * config/postinst.prg
    * Minor in comment.
2010-05-09 12:11:12 +00:00
Viktor Szakats
5e3f92ac36 2010-05-08 11:53 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* utils/hbmk2/hbmk2.prg
    + Extended -mkimplib option for windows gcc compilers (mingw/cygwin)
      to first look for matching COFF .lib file and use it to create
      import library. If such is not found, try to use matching .def
      file and automatically generate import library using dlltool.
      If none if these were found, use the .dll directly, to create
      the import library. In case of Harbour, this method resolves 
      almost all mingw implib needs.
      See longer note in source (in function win_implib_command_gcc())
      about the details of the problem, the only thing I cannot see
      is why mingw/cygwin developers insist on not fixing this issue
      since ten year, while all other compilers can properly resolve
      this problem. Anyhow until then mingw cannot use .dll using
      stdcall calling convention without COFF .lib or .def file. If
      both are missing, the only solution is to manually build a
      .def file by first generating it from .dll then manually
      adding '@nn' decoration according to function prototypes.
      Thanks mingw.

  * config/postinst.prg
    - Deleted APOLLO implib generation. Apollo fall into the
      problematic category for mingw, because developers chose
      to use stdcall callconv and they forgot to provide
      implib or .def file. It's not part of core anyway.
    * Slightly changed mysql implib generation to also work
      for mingw.
    - Deleted no more necessary manuall hack for mysql implib
      generation.
    + Added manual hack for firebird implib generation. In
      this hbmk2 automatism cannot work as they distribute
      COFF .lib in another directory and using a different
      name than the .dll.
2010-05-08 09:54:50 +00:00
Viktor Szakats
6778c4fcdc 2010-05-07 12:35 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* config/win/mingw.mk
    + Enabled --nxcompat and --dynamicbase options for mingw64
      targets.

  * utils/hbmk2/hbmk2.prg
    * Changed -mkimplib usage as follow:
         -mkimplib=some.dll [implib_name_or_dir]
      It's incompatible with previous one, but allows for simpler,
      short calls.
    ! Fix to path normalizer to also append a pathsep to "." when
      the resulting directory is an empty one.
    * Minor internal change (cCCEXT moved to hbmk structure)

  * config/postinst.prg
    % Changed to use new -mkimplib parameter format.
      (untested)
2010-05-07 10:36:34 +00:00
Viktor Szakats
0fbe571ed1 2010-04-22 18:41 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* config/postinst.prg
    ! Added hack to workaround the exception where mysql .dll doesn't 
      work with Harbour if copied to .a file. Instead I copy over the 
      import .lib to .a as before. If anyone knows a better solution, 
      pls speak up.
2010-04-22 16:42:19 +00:00
Viktor Szakats
5823faadb1 2010-04-10 10:13 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* external/zlib/zlib.dif
  * external/zlib/zconf.h
    ! Tweak to make it build with BCC (when this specific
      constant is defined, f.e. by libharu).

  * external/pcre/Makefile
    ! Tweak to make 8.02 work with BCC.
    ; NOTE: BCC is seemingly not tested/used by any important
            external projects. If it goes like this, I will stop
            doing these updates and leave them to real BCC users.
            It's going against the flow.

  * config/postinst.prg
    * /V2 -> -V2 to make *nix shells happy.
2010-04-10 08:18:05 +00:00
Viktor Szakats
35ab8e3f83 2010-03-29 09:52 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* Makefile
  - bin/postinst.prg
  + config/postinst.prg
    * Moved postinst.prg from bin to config dir.

  * config/postinst.prg
    + Changed to automatically build all tools found in /utils,
      thus dropping hard-wired tool names from postinst.
    * Minor cleanup.
2010-03-29 07:54:12 +00:00