Commit Graph

19 Commits

Author SHA1 Message Date
Viktor Szakats
f8fd50ecd0 2011-02-22 18:35 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* config/vxworks/gcc.mk
  * config/vxworks/diab.mk
  * config/darwin/gcc.mk
  * config/darwin/icc.mk
  * config/darwin/clang.mk
  * config/linux/gcc.mk
    * Cleaned to use new central variables for harbour dynlib links.
    ; TODO: Do the same with rest of *nix targets when adding soname
            and '2.1' style symlinks, when current system proves okay 
            with darwin and linux/gcc targets.
2011-02-22 17:43:15 +00:00
Viktor Szakats
30d0951cfd 2011-02-22 16:12 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* config/vxworks/gcc.mk
  * config/vxworks/diab.mk
  * config/darwin/gcc.mk
  * config/darwin/icc.mk
  * config/darwin/clang.mk
    ! LIB_PREF -> DYN_PREF
2011-02-22 15:13:16 +00:00
Viktor Szakats
7b2883a9e3 2011-02-22 16:01 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* src/dynlib/2nd/Makefile
  * src/dynlib/Makefile
  * config/none.mk
  * config/vxworks/gcc.mk
  * config/vxworks/diab.mk
  * config/darwin/gcc.mk
  * config/darwin/icc.mk
  * config/darwin/clang.mk
  * config/linux/gcc.mk
  * config/dyn.mk
  * config/os2/gcc.mk
    * DYNNAME2 -> DYNNAME
2011-02-22 15:01:39 +00:00
Viktor Szakats
132069d802 2011-02-03 18:13 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* utils/hbmk2/hbmk2.prg
  * config/beos/gcc.mk
  * config/qnx/gcc.mk
  * config/bsd/gcc.mk
  * config/wce/mingwarm.mk
  * config/vxworks/gcc.mk
  * config/minix/gcc.mk
  * config/darwin/gcc.mk
  * config/hpux/gcc.mk
  * config/win/mingw.mk
  * config/linux/gcc.mk
  * config/cygwin/gcc.mk
  * config/symbian/gcc.mk
  * config/os2/gcc.mk
  * config/sunos/gcc.mk
    ! Separate -Wimplicit-int and -Wimplicit-function-declaration 
      so that they are added to cflags only when not in cpp mode.
    ; Patch by Tamas.
2011-02-03 17:14:19 +00:00
Przemyslaw Czerpak
c0b28bd5da 2011-01-15 01:15 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/include/hbcomp.h
    * do not inherit in macrocompiler -z compile time switch when -kc is
      also used

  * harbour/src/common/expropt2.c
    * disable logical expression optimization (reduction) in macrocompiler
      when -kc compile time switch is used.

  * harbour/config/beos/gcc.mk
  * harbour/config/qnx/gcc.mk
  * harbour/config/bsd/gcc.mk
  * harbour/config/wce/mingwarm.mk
  * harbour/config/vxworks/gcc.mk
  * harbour/config/hpux/gcc.mk
  * harbour/config/darwin/gcc.mk
  * harbour/config/dos/djgpp.mk
  * harbour/config/win/mingw.mk
  * harbour/config/linux/gcc.mk
  * harbour/config/cygwin/gcc.mk
  * harbour/config/symbian/gcc.mk
  * harbour/config/os2/gcc.mk
  * harbour/config/sunos/gcc.mk
  * harbour/utils/hbmk2/hbmk2.prg
    * enable some important warnings in GCC builds using -W<name>... instead
      of -Wall and -Wno-<name>... for warning level set to low.
      It should help in backward compatibility with some older GCC versions.
2011-01-15 00:15:42 +00:00
Przemyslaw Czerpak
7941a797a7 2011-01-14 10:12 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/config/beos/gcc.mk
  * harbour/config/qnx/gcc.mk
  * harbour/config/bsd/gcc.mk
  * harbour/config/wce/mingwarm.mk
  * harbour/config/vxworks/gcc.mk
  * harbour/config/hpux/gcc.mk
  * harbour/config/darwin/gcc.mk
  * harbour/config/dos/djgpp.mk
  * harbour/config/win/mingw.mk
  * harbour/config/linux/gcc.mk
  * harbour/config/cygwin/gcc.mk
  * harbour/config/symbian/gcc.mk
  * harbour/config/os2/gcc.mk
  * harbour/config/sunos/gcc.mk
    * use -Wall -Wno-unused -Wno-pointer-sign -Wno-uninitialized
          -Wno-switch -Wno-strict-overflow -Wno-main
      instead of -W when warnings are not enabled with GCC based compilers.
      Using only -W only is rather useless because this switch enables
      warnings which can be usually ignored in 3-rd party code.
      This modification should help in locating bugs introduced by us
      to 3-rd party code, i.e. due to wrong header files used on some
      platforms (we do not use autoconf assuming some default settings
      what can be wrong in some cases). It should also not hide some
      important/critical bugs in 3-rd party code.
      This modification pacifies some common warnings which can be
      ignored usually but it also enables some more important ones.
      If it's necessary then we can tune it a little bit more and disable
      some other warnings too.
      It's possible that on some platforms using very old GCC versions
      some of -W* switches are not supported - please make tests and
      inform us about problems.

  * harbour/utils/hbmk2/hbmk2.prg
    * use -Wall -Wno-unused -Wno-pointer-sign -Wno-uninitialized
          -Wno-switch -Wno-strict-overflow -Wno-main
      instead of -W when warning level is set to low with GCC based
      compilers
2011-01-14 09:13:06 +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
64f537a370 2010-07-17 17:10 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* ChangeLog
  * src/vm/dynlibhb.c
  * config/vxworks/libs.mk
    + Documented fact that VxWorks only supports dlopen() in
      shared executables. I can see no way how Harbour could
      support this.

  * config/vxworks/gcc.mk
  * config/vxworks/diab.mk
    * Minor cleanups to HB_BUILD_SHARED mode.
2010-07-17 15:10:48 +00:00
Viktor Szakats
35fac2ada1 2010-07-17 16:28 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* contrib/hbodbc/todbc.prg
  * contrib/hbodbc/odbcold.c
  * contrib/hbodbc/odbc.c
    - Deleted SQLEXTENDEDFETCH() wrapper. The original ODBC
      function was in compatibility status since ODBC 3.0 and
      it was causing permanent build problems in Harbour, due
      to disagreement in parameter widths/types on different
      platforms and compiler headers (f.e. on Linux AMD64 C++
      mode, POCC and XCC).
      INCOMPATIBILITY: This compatibility function was deleted,
                       use SQLFETCHSCROLL() instead.
    * Replaced SQLEXTENDEDFETCH() with SQLFETCHSCROLL() in TODBC
      code as recommended by MS.
    ! Added cast to silence msvc C mode warning.

  * config/vxworks/gcc.mk
    ! Fixed vxworks/gcc HB_BUILD_SHARED=yes link mode.
2010-07-17 14:30:38 +00:00
Viktor Szakats
3a97d58533 2010-07-17 15:20 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* include/hbdefs.h
  * src/rtl/hbsocket.c
  * include/hbthread.h
    * Moved header collision avoidance hack to the root of
      the problem, right after '#include <stdint.h>'.
      This way it's done centrally.

  * config/vxworks/diab.mk
    - Deleted fixed TOFIX.
2010-07-17 13:20:28 +00:00
Viktor Szakats
ccd4bbe767 2010-07-17 10:24 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* config/vxworks/gcc.mk
  * config/vxworks/diab.mk
    + Setting 'soname'. It's mandatory according to VxWorks docs.
      Now shared diab exes will find Harbour dynlib (but not the 
      libc one, but I reckon this needs local env tweaks only).
2010-07-17 08:25:26 +00:00
Viktor Szakats
1a3fa64e36 2010-07-16 20:55 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* include/hbsetup.h
  * src/vm/hvm.c
  * contrib/hbmisc/hb_f.c
    ! Added workaround for diab bug. Now build goes fine without HB_LONG_LONG_OFF
      trick.

  * config/vxworks/diab.mk
    + Minor change to sync one C compiler option with VxWorks Workbench
      generated one. (missed from prev commit)
2010-07-16 18:56:07 +00:00
Viktor Szakats
302211f9af 2010-07-16 18:22 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* external/minizip/minizip.dif
    + Updated after latest changed by Tamas Tevesz. Thanks a lot!

  * utils/hbmk2/hbmk2.prg
    + Added support for vxworks/diab compiler.

  * utils/hbtest/hbtest.prg
    + Added my name to the copyright header.

  * config/global.mk
    ! Fixed to only assign *nix specific default value HB_INSTALL_PREFIX
      on *nix hosts (only a problem when doing *nix cross-builds _from_
      non-*nix systems).

  * utils/hbmk2/hbmk2.prg
  * config/vxworks/gcc.mk
  * config/vxworks/diab.mk
    + Added minimal support for HB_BUILD_SHARED=yes for vxworks targets.
      For diab it just won't find the harbour .so (see comment for more)
      For gcc it links okay, though it's detected as kernel task, so
      current support is most probably not right.

  * config/vxworks/diab.mk
    * Minor change to sync one C compiler option with VxWorks Workbench
      generated one.

  ; NOTE: By this change Harbour VxWorks base port is finished. Besides
          being an interesting excercise, it helped to develope new
          non-*nix to *nix cross building codepaths, tweak Harbour for
          "headless" (w/o terminal) OSes, and to break the ground for
          target CPU selection inside one target platform.
          Harbour builds cleanly using both vxworks/gcc and vxworks/diab,
          and compiler tools plus non-MT utils run properly as well.

          Obviously I made few functional tests, but from the experiences
          of the port effort, these are the remaining areas:
             - reporting bug(s) to Wind River (particularly the one
               breaking hvm.c compilation, requiring HB_LONG_LONG_OFF
               forcage, causing other unnecessary limits and hbtest
               failures)
             - serial I/O needs to be implemented using VxWorks specific
               sioLib API
             - 'fork' has to be replaced.
             - sockets were not tested, anyhow they are supposed to work.
             - termios is missing, so large parts of GTSTD and GTTRM are
               disabled on this platform.
             - ARM/MIPS CPU support needs to be added to hbatomic.h
             - HB_LIBLOAD() and friends need to be implemented, but I hit
               walls here.
             - MT apps GPFs, this needs to be fixed probably inside our
               code, but it's possible some build options are needed which
               I missed all along.
             - HB_SHARED_MODE=yes needs further tweaking.
2010-07-16 16:23:45 +00:00
Viktor Szakats
03a15d50b5 2010-07-16 13:27 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* utils/hbtest/hbtest.prg
  * utils/hbtest/rt_hvm.prg
  * utils/hbtest/rt_hvma.prg
  * utils/hbtest/rt_stra.prg
  * utils/hbtest/rt_vars.ch
    + Enabled GTCGI for Harbour builds. This makes it independent
      for GTs, to there is better chance to run it. Now it also
      works on VxWorks.
    + Will now detect .dbf creation failure and continue gracefully
      with a message and skipping all related tests.

  * src/rtl/hbsocket.c
  * external/minizip/ioapi.h
  * include/hbthread.h
    + Added/cleaned hacks to avoid collision between VxWorks's own
      system types.

  * external/minizip/ioapi.h
    ! Disabled 64-bit FSIO for whole VxWorks.

  * config/vxworks/gcc.mk
  * config/vxworks/diab.mk
  * config/vxworks/global.mk
    + _VX_CPU is now defined in vxworks/global.mk.

  * src/common/hbarch.c
    ! Fixed hb_put_le_uint64() definition to match declaration.

  * include/hbdefs.h
    ! Fixed compatibility type definitions in HB_LONG_LONG_OFF mode.

  * include/hbsetup.h
    + Added bzero() declaration hack for vxworks.

  * include/hbinit.h
    + Added support for diag compiler init function.
      It requires the constructor to have public visibility.

  * src/common/hbver.c
    + Changed to always display x.x.x.x format verison no for diab.
      (in generic way).

  * INSTALL
    * Updated list of CPUs supported by vxworks.
2010-07-16 11:34:05 +00:00
Viktor Szakats
c7445e0bae 2010-07-16 08:10 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* src/common/hbver.c
    * Formatting.

  * config/vxworks/diab.mk
    ! Refined tweak added to make hbsocket compile. I overdid
      it, causing other breakage.
    ! Fixed dynlib generation to cope with Windows cmdline
      length limits.
    + Added proper dynlib generation rule.

  * config/vxworks/gcc.mk
  * config/vxworks/global.mk
    + HB_CCPOSTFIX setup made common to all compilers, because
      it's needed for 'strip' call.

  * utils/hbmk2/hbmk2.prg
    + Some vxworks environment setup made common to all compilers.

  * harbour-win-spec
  * harbour-wce-spec
    ! Deleted hbmk.hbc references.

  ; Patches by Tamas Tevesz:

  * harbour.spec
    ! Fixes to make it work.

  * external/minizip/minizip.dif
    * Updated.

  * INSTALL.
    * Nevermind.
2010-07-16 06:11:26 +00:00
Viktor Szakats
f1fdb9b02c 2010-07-16 00:25 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* config/vxworks/diab.mk
    + Implemented support for Wind River Compiler.
      Incomplete yet, as I couldn't test each build
      feature due to errors in earlier build stages.

  * src/common/hbver.c
    + Added fourth version number level.
    + Added version detection for Wind River Compiler (diag).
    * Formatting.

  * src/common/hbprintf.c
  * external/minizip/ioapi.h
    + Fixes for Wind River Compiler (diag)

  * src/rtl/hbdyn.c
    ! Dirty fix to compile in HB_LONG_LONG_OFF mode.
      Przemek if you see this, can you take a look at it if 
      it's right or at least not terribly off?

  * include/hbsetup.h
    ! Temporary hack for Wind River Compiler to use
      HB_LONG_LONG_OFF, otherwise the compiler crashes with
      internal error in hvm.c (without hvmall and optimizations
      also). Now, this flag caused another slew of problems,
      so as it looks now support for this compiler cannot
      be added:
         "../../../hvm.c", line 9827: internal compiler error (etoa:1000): - Failed allocating register pair
         please contact support@windriver.com */

  * include/hbinit.h
    + Enabled Wind River compiler to use the GCC init mode.
      (didn't actually test it, but it compiles)

  * utils/hbmk2/hbmk2.prg
    + Added new debug switch -debugpars to get a list of
      input parameters processed by hbmk2.
    + Synced automatic HB_CCPOSTFIX configuration based on cpu
      setting with GNU Make logic.

  * config/vxworks/gcc.mk
    * Cleanups.
    + Added more CPU postfixes.

  * INSTALL
    * Minor convenience added to prev.
2010-07-15 22:32:24 +00:00
Viktor Szakats
83c7f46c13 2010-07-15 21:48 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* INSTALL
    ! vxWorks casing.
    + Added vxworks/gcc/arm example.

  * utils/hbmk2/hbmk2.prg
    % -DARMEL no more defined for vxworks/gcc/arm. It turns
      out it's a predefined macro.

  * config/global.mk
    ! Fixed HB_CPU autodetection after prev change.

  * INSTALL
    ; NOTE: After previous change HB_CCPOSTINST is automatically
            set on vxworks/gcc.

  * config/vxworks/libs.mk
  * config/vxworks/gcc.mk
    + Tried to enable dynlibhb, didn't succeed, see comments.

  * config/vxworks/gcc.mk
    % Deleted unnecessary compile time macros.

  ; TOFIX: vxworks HB_BUILD_SHARED=yes is broken. harbour .so
           is not found. Couldn't find out why.
  ; TOFIX: vxworks/gcc/arm hbatomic.h needs support added.
           arm harbour and hbpp builds fine.
2010-07-15 19:53:56 +00:00
Viktor Szakats
c0217a93ef 2010-07-15 20:24 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* utils/hbmk2/hbmk2.prg
    + Added experimental -cpu option. (not at the level
      of comp/plat internally, as there won't be separate
      subdir open for different cpu builds created in parallel)
    + Added some untested support for vxworks/gcc/arm.

  * utils/hbmk2/hbmk2.hbp
    + Synced with Makefile.

  * config/global.mk
    ! Fixed to default HB_CPU value to x86 for vxworks.
    + Exports HB_CPU.

  * config/vxworks/libs.mk
  * config/vxworks/gcc.mk
    + Added experimental support to select arm target by
      using HB_CPU=arm.

  * config/wce/msvcarm.mk
    ! Missed re-xmastree changed done now. (for pre GNU Make 3.81 compatibility)
2010-07-15 18:24:46 +00:00
Viktor Szakats
00cd9e92f3 2010-07-15 16:57 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* INSTALL
  + config/vxworks
  + config/vxworks/libs.mk
  + config/vxworks/gcc.mk
  + config/vxworks/diab.mk
  + config/vxworks/global.mk
    + Started experimental VxWorks port.
    ; NOTE: VxWorks port was made possible by Wind River Systems Inc.,
            who were so kind to mail me a full VxWorks development
            environment, for the purpose of porting Harbour to this
            platform. Thank you very much guys.

            [ The free license is valid for one month, so if anyone
            is interested in helping in this project, I can help with
            real tests, builds and information. BTW, the devenv is
            Eclipse based plus cmdline, running on Windows (available
            for Linux and Solaris, too) and the target VxWorks exes
            run in a virtual environment. ]

  * config/global.mk
    + Added autodetection of VxWorks platform.

  * utils/hbmk2/hbmk2.prg
    + Added VxWorks support. It's incomplete yet.
    ! Fixed to quote *nix/gcc compiler family in
      Windows-host cross-platform situations.

  * src/vm/thread.c
  * src/common/hbgete.c
  * src/common/hbffind.c
  * src/common/hbtrace.c
  * src/common/hbdate.c
  * src/rtl/gtstd/gtstd.c
  * src/rtl/gttrm/Makefile
  * src/rtl/hbsocket.c
  * src/rtl/filesys.c
  * src/rtl/diskspac.c
  * src/rtl/cputime.c
  * src/rtl/disksphb.c
  * src/rtl/gtpca/gtpca.c
  * src/rtl/net.c
  * src/rtl/hbproces.c
  * src/rtl/gtsys.c
  * src/rtl/hbcom.c
  * external/zlib/inflate.c
  * external/jpeg/jmorecfg.h
  * external/pcre/Makefile
  * include/hbapifs.h
  * include/hbthread.h
  * include/hbdefs.h
  * include/hbsetup.h
  * contrib/xhb/hboutdbg.c
  * contrib/xhb/hbsyslog.c
  * contrib/xhb/hbserv.c
    + vxworks/gcc port. First phase.
    ; Please review.
    ; NOTE: - vxworks has no termios, for serial comm
              support it has sioLib.h.
            - vxworks supports another C compiler, which
              was not tested yet.
            - vxworks supports lots of CPUs, only x86 was
              tested yet.
            - There are still mutex related warnings to sort out.
            - Some parts had to disabled, like HB_LIB*() functionality.
    ; TODO: Regenarate .difs in external/.

  * src/vm/hashfunc.c
    * Silenced warnings shown by vxworks/gcc.
2010-07-15 15:02:33 +00:00