Commit Graph

11790 Commits

Author SHA1 Message Date
Viktor Szakats
dca33ebdd1 2009-08-20 20:07 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* utils/hbmk2/hbmk2.prg
  * config/global.mk
    ! Fixed to -undef:__PLATFORM__UNIX even for Windows host platforms.
      This is required because Cygwin builds have this envvar set.
      I'm not sure that setting __PLATFORM__UNIX for Cygwin is right
      behavior though.

  * config/dos/watcom.mk
  * config/win/watcom.mk
  * config/linux/watcom.mk
  * config/os2/watcom.mk
  + config/common/watcom.mk
    % Moved common watcom compiler specific make logic to one file.
      I've choosen OS/2 rules in this global makefile, as they will
      work on all platforms, albeit in the known slighly hacky way.
      It's easy to reintroduce shell specific rules for more advanced
      shells. There was one common rule set for nt/dos shells, plus
      a very clean one for sh. I may do this in a next commit.
      After this change it's possible to create all possible watcom
      cross-builds. Pls shout if I missed something or the concept
      seems to have some potential flaws.
    ; QUESTION: Does 'wlib' support '-p=64' option on Linux watcom builds?
    ; NOTE: Still most of the not yet merged logic could be merged,
            since there is only a few minor difference between them.
    ; TODO: Add shell optimized watcom rules for nt/dos/sh shells.
    ; TODO: Try to do a similar stunt for gcc.mk files.

  * source/pp/ppcore.c
    * #ifdef -> #if defined()
2009-08-20 18:16:55 +00:00
Viktor Szakats
d56a65142e 2009-08-20 15:49 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* config/global.mk
    ! Fixed dos autodetection to not be overridden by explicit
      HB_ARCHITECTURE value since it prevent dos hosted cross
      build creation.
    ! Fixed *nix -> win/wce autodetection to not kick in on os2/dos
      platforms.

  * INSTALL
    + Updated cross-build matrix to not show some dos/os2 builds
      fully untested. They should now work in a generic sence.

  ; TOFIX: watcom rules should be synced across platforms to use
           shell specific tricks according to HB_SHELL excpect
           assuming it being the host native one.
           F.e. watcom/dos -> os2 builds will end with:
                Bad command or filename - "@..\..\..\..\..\config\dj-echo".
                watcom/dos -> linux builds will choke because of too long cmdlines.
2009-08-20 13:57:30 +00:00
Viktor Szakats
809b984774 2009-08-20 15:38 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* config/dos/watcom.mk
    * DOS shell specific hacks protected by HB_SHELL guard.
    * Merged together DOS shell specific hacks.

  * config/win/watcom.mk
  * config/linux/watcom.mk
  * config/os2/watcom.mk
    + Added DOS shell specific hacks, so that cross-builds to these 
      targets on DOS hosts work.
2009-08-20 13:38:47 +00:00
Viktor Szakats
b316dffb15 2009-08-20 14:16 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* config/global.mk
  * INSTALL
  * bin/hb-mkdyn.sh
  * bin/hb-mkdyn.bat
    + Added HB_USER_DFLAGS to add custom linker flags to .dll link command.
      (just like in hbmk2)
    - In hb-mkdyn.sh HB_USER_LDFLAGS deleted, now HB_USER_DFLAGS replaced it.
      (HB_USER_LDFLAGS was missing from darwin link cmd)

  * bin/hb-mkdyn.bat
    ! HB_DLLLIBS -> HB_DLLIBS

  * config/global.mk
    + Added HB_DLLIBS to list of misc custom settings.

  * INSTALL
    + Revision of OPTIONS AVAILABLE WHEN BUILDING HARBOUR section.
    ! Typo.
2009-08-20 12:17:05 +00:00
Przemyslaw Czerpak
8de02b2337 2009-08-20 13:32 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/include/hbthread.h
    ! do not include <process.h> in WinCE builds
2009-08-20 11:32:38 +00:00
Przemyslaw Czerpak
5323a87636 2009-08-20 11:47 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/config/bsd/gcc.mk
  * harbour/config/darwin/gcc.mk
  * harbour/config/hpux/gcc.mk
  * harbour/config/dos/djgpp.mk
  * harbour/config/win/mingw.mk
  * harbour/config/linux/gcc.mk
  * harbour/config/linux/icc.mk
  * harbour/config/linux/sunpro.mk
  * harbour/config/os2/gcc.mk
  * harbour/config/sunos/gcc.mk
  * harbour/config/sunos/sunpro.mk
    ! replaced wrongly used 'findstring' functions with 'filter' functions.
      Now findstring is used only in places where we are looking for
      substrings not whole words.

  * harbour/source/rdd/wacore.c
    ! fixed typo in comment (by Phil Krylov borrowed from xHarbour)

  * harbour/ChangeLog
    ! fixed my typo in Latin translation of Phil Krylov family
      name - sorry Phil.
2009-08-20 09:47:56 +00:00
Viktor Szakats
a1a747b798 2009-08-20 11:09 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* utils/hbmk2/hbmk2.prg
  * config/wce/msvcarm.mk
    ! Fixes to cmdline macros, now many warnings are gone.

  * utils/hbmk2/hbmk2.prg
    + Added ceshell, oleaut32 syslibs to default wce liblist.
      (to be more in sync with win)

  * contrib/hbwin/hbwin.hbc
    ! Added sms syslib for wce.
2009-08-20 09:09:57 +00:00
Viktor Szakats
31e4251528 2009-08-20 10:44 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* config/global.mk
    + Don't attempt to install includes and docs if HB_INSTALL_PREFIX 
      is set to source tree root. (to suppress 'cannot copy file to itself' 
      warnings)
2009-08-20 08:45:21 +00:00
Viktor Szakats
02b1a335b0 2009-08-20 09:55 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* utils/hbmk2/hbmk2.prg
  * config/global.mk
    + Added autodetection for old MSVC for WinCE versions (clarm.exe based ones).
    + Added autodetection for HB_VISUALC_VER_PRE80 value for msvcarm targets.

  * INSTALL
    + Added cross-build matrix. Tweaked cross-build information.
    + Added MSVC 2005 for WinCE/ARM example.
    ; TODO: Create separate example section for native and cross-builds.
2009-08-20 07:56:27 +00:00
Viktor Szakats
1351010ae4 2009-08-20 08:27 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* contrib/hbwin/legacy.prg
  * contrib/hbwin/legacyco.c
    + Reimplemented numeric pointer support in legacy OLE interface
      with the help of Przemek and Antonio. Please test.
2009-08-20 06:27:45 +00:00
Viktor Szakats
8da389c5b0 2009-08-20 08:10 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* config/global.mk
    ! Fixed to handle spaces in PATH elements.
      Now '#' is used as intermediate char. Please change it to something
      else if you feel this might clash with some real-world scenarios.

  * utils/hbmk2/hbmk2.prg
  * config/wce/msvcarm.mk
    ! Readded -DUNDER_CE.
      Does anyone know of any documentation about required macros
      for WinCE compilation?
2009-08-20 06:13:12 +00:00
Pritpal Bedi
bea2aecb93 2009-08-19 17:02 UTC-0800 Pritpal Bedi (pritpal@vouchcac.com)
* contrib/hbxbp/xbpbrowse.prg
    ! Horizontal scrolling made more perfect and Clipper like.
    % Started LEFT FREEZE.
2009-08-20 00:04:00 +00:00
Przemyslaw Czerpak
2adb22e920 2009-08-20 01:22 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/config/bsd/gcc.mk
  * harbour/config/bin.mk
  * harbour/config/hpux/gcc.mk
  * harbour/config/darwin/gcc.mk
  * harbour/config/linux/gcc.mk
  * harbour/config/linux/icc.mk
  * harbour/config/linux/global.mk
  * harbour/config/linux/sunpro.mk
  * harbour/config/rules.mk
  * harbour/config/os2/gcc.mk
  * harbour/config/sunos/gcc.mk
  * harbour/config/sunos/sunpro.mk
    ! replaced wrongly used 'findstring' functions with 'filter' functions

  * harbour/config/linux/global.mk
    * enable -fPIC for all non x86@32 GCC and ICC Linux builds
2009-08-19 23:23:25 +00:00
Przemyslaw Czerpak
8bd403daa5 2009-08-20 00:52 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/config/global.mk
    ! fixed typo in platform detection 'ifeq' instead of 'ifneq' and 'win'
      was set as default
    ! replaced wrongly used 'findstring' functions with 'filter' functions
    ! added small trick in path prefix detection to avoid false results
      from 'findstring' function
    ! look for 'suncc' instead of 'cc' detecting SunPRO C compiler
      ('cc' is default C compiler link in all *nixes)
2009-08-19 22:52:57 +00:00
Przemyslaw Czerpak
19d6c252b9 2009-08-20 00:03 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/bin/hb-func.sh
    * use -I<path> parameter passed to Harbour compiler in hb* scripts
      also with C compiler for C code inside #pragma begindump/enddump
2009-08-19 22:03:22 +00:00
Viktor Szakats
1d4fc3b164 2009-08-19 21:26 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* INSTALL
    + Added msvcarm examples (using MSVC 2008. 2005 should be similar).

  * config/wce/msvcarm.mk
    % Somewhat reduced number of macro options.
    ! Deleted debug switch from default c option list.
    % Deleted a few more default c options.
    ! Added corelibc to syslib list.
    ! Cleaned linker flags to make it link. Some others
      just removed, they seem not required.

  * utils/hbmk2/hbmk2.prg
    * Synced msvcarm settings with .mk.

  * config/global.mk
  * utils/hbmk2/hbmk2.prg
    + Added msvcarm autodetection to both GNU Make and hbmk2.

  * config/wce/global.mk
  * config/wce/poccarm.mk
  * utils/hbmk2/hbmk2.prg
  * bin/hb-mkdyn.bat
    + Added coredll to wce syslib list.
      (required for msvc and pocc, optional for mingw)

  ; Now msvcarm builds, with a lot of warnings.
2009-08-19 19:27:00 +00:00
Viktor Szakats
269a4b9669 2009-08-19 20:06 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* debian/rules
    * Using spaces instead of tabs for indentation.
2009-08-19 18:07:15 +00:00
Viktor Szakats
37369dc1ca 2009-08-19 20:04 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* debian/rules
    ! Changed make_gnu.sh references to direct make commands.
      (please verify me)
2009-08-19 18:04:43 +00:00
Viktor Szakats
0ae645c591 2009-08-19 19:45 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* utils/hbmk2/hbmk2.prg
    + Added support for detecting Harbour binary environment
      in raw form, meaning the one after simple 'make' *without*
      'make install'.
      Of course 'install' is still useful to build dlls (and
      implibs on win), but for normal cases this may be a very
      useful feature. You do a 'make' (no admin needed on *nix),
      go to ./bin/arch/comp and hbmk2 works without any extra
      configuration.
      This feature also allows us to distribute multihost
      binary packages. Such unified binaries can be run under
      multiple hosts. (IOW we can have one binary distro which
      covers potentially all our supported platforms/compilers
      both as host OS and target OS). See watcom for such an
      example in the C compiler world.
2009-08-19 17:49:51 +00:00
Viktor Szakats
701bcfd77c 2009-08-19 18:59 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* INSTALL
    + Replaced make_gnu_xmingw*.sh references with simple make
      commands.
    ; There are no more script/batch references inside INSTALL doc.
      (except some compiler configuration ones but these don't belong 
      to Harbour, included for convenience only)
2009-08-19 17:01:32 +00:00
Viktor Szakats
bf906d2464 2009-08-19 16:44 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* contrib/hbwin/legacy.prg
    ! Deleted pointer to numeric conversions.
      This means even code using compatibility interface may
      have to be slightly adapted to use this version of Harbour.
      Checks like ISNUMBER( CreateOLEObject() ) and CreateOLEObject() == 0
      will have to be changed to Empty( CreateOLEObject() ). This
      stays compatible with other Harbour versions and implementations.
      Methods/Functions accepting numeric pointers in old implementation
      will only accept pointers aquired from appropriate OLE API functions.
2009-08-19 14:46:50 +00:00
Przemyslaw Czerpak
221307ac00 2009-08-19 15:39 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/contrib/hbwin/olecore.c
    ! updated for POCC/WinCE header files
2009-08-19 13:39:14 +00:00
Przemyslaw Czerpak
a896909262 2009-08-19 11:34 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/config/global.mk
    ! extended shell detection - now when we do not use make_gnu.sh
      we have to accept also shells like ksh which do not set SHLVL
      envvar.
      Probably the safest method is using HB_SHELL=sh for all host
      platforms except DOS, WIN & OS2.
2009-08-19 09:35:20 +00:00
Przemyslaw Czerpak
336e13b668 2009-08-19 11:05 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/Makefile
  * harbour/config/dir.mk
  * harbour/config/global.mk
    * eliminated HB_*POSTINST* variables, now it's used only localy
      in harbour/Makefile
    * modified root Makefile detection
2009-08-19 09:06:21 +00:00
Viktor Szakats
e5cb4100f8 2009-08-19 10:49 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* external/sqlite3/sqlite3.c
  * external/sqlite3/sqlite3.h
    + sqlite upgraded to 3.6.17 (from 3.6.16)
2009-08-19 08:50:21 +00:00
Viktor Szakats
a93d29abec 2009-08-19 07:31 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* config/global.mk
    ! Applied Phil Krylov's patch to mingw32 detection on gentoo Linux.
2009-08-19 05:32:41 +00:00
Viktor Szakats
53b0ef468d 2009-08-19 06:29 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* contrib/hbtip/thtml.prg
    ! Fixed hang in 'OEMTOHTML( "&" )'. Reported on c.l.xhb.
      Fix based on Eduardo Fernandes suggestion, although done 
      a little differently and extended to avoid new RTE.
2009-08-19 04:29:31 +00:00
Viktor Szakats
27c26eda9e 2009-08-19 06:16 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* utils/hbmk2/hbmk2.prg
    + Added wininet syslib to std lib list for win platform.
      (to be in sync with wce and hbmk script).

  * INSTALL
    * Using 'platform' in a few places where 'architecture' was used
      in text.
2009-08-19 04:18:25 +00:00
Przemyslaw Czerpak
65855b43db 2009-08-19 04:42 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/include/hbgtinfo.ch
    * formatting

  * harbour/include/Makefile
  - harbour/include/hbgetcmt.ch
    - removed redundant header file

  * harbour/contrib/hbwin/olecore.c
    * added workaround for wrong OLE variant structure definition
      in some C compilers header files
2009-08-19 02:43:23 +00:00
Pritpal Bedi
825db05782 2009-08-18 18:51 UTC-0800 Pritpal Bedi (pritpal@vouchcac.com)
* contrib/hbxbp/xbpwindow.prg
    ! Some tweaks.
  * contrib/hbxbp/xbpbrowse.prg
    + Implemented Footers.
    + Reworked entire browse management. Now Qt's powerful "LAYOUT" features
      are exploited.
    ! Thoughly rewritten horizontal scrolling.

  * contrib/hbxbp/tests/demoxbp.prg
    + Demonstrated Footer implementation.
      Please play with horizontal scrolling.

    ;TODO : Left Freeze and RightFreeze
            I have an idea how to do it.
2009-08-19 01:54:13 +00:00
Pritpal Bedi
a5bfcfd9c0 2009-08-18 18:46 UTC-0800 Pritpal Bedi (pritpal@vouchcac.com)
* contrib/hbqt/hbqt.ch
  * contrib/hbqt/hbqt_slots.cpp
  * contrib/hbqt/hbqt_slots.h
  * contrib/hbqt/moc_slots.cpp
    + Added more event handlers.
2009-08-19 01:49:07 +00:00
Przemyslaw Czerpak
2e24252ab6 2009-08-18 23:32 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/config/win/bcc.mk
    * eliminated IF EXIST command and updated to work with non NT shells.
      Now only OS2 gcc.mk and watcom.mk uses directly IF & FOR shell
      commands.
2009-08-18 21:32:51 +00:00
Viktor Szakats
7681ac96e8 2009-08-18 22:56 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* config/global.mk
  * config/globsh.mk
    * ECHOQUOTE variable moved to per shell sections.
    ! ECHOQUOTE set to '"' for dos shells.
2009-08-18 20:57:03 +00:00
Viktor Szakats
3795296335 2009-08-18 22:46 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* config/dos/watcom.mk
  * config/dos/djgpp.mk
  * config/win/bcc.mk
  * config/win/watcom.mk
  * config/os2/watcom.mk
  * config/os2/gcc.mk
    * 'echo' -> '$(ECHO)'

  * config/readme.txt
    + Added link to DJGPP echo tool.
    ; TOFIX: This isn't the echo tool which is currently included 
             in SVN, but points to the place where other dj-*.exes 
             came from.

  * ChangeLog
    ! Fixed date in my today's entries.
2009-08-18 20:48:21 +00:00
Przemyslaw Czerpak
83e3729f68 2009-08-18 21:34 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/config/global.mk
    * use $(error ...) instead of echo to inform about wrong GNU make
      version - it works for any targets i.e. clean
2009-08-18 19:34:59 +00:00
Przemyslaw Czerpak
e0332888aa 2009-08-18 21:20 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
+ harbour/config/dj-echo.exe
    + added DJGPP echo.exe

  * harbour/config/dirsh.mk
  * harbour/config/none.mk
  * harbour/config/global.mk
  * harbour/config/globsh.mk
  * harbour/config/instsh.mk
    * use '$(ECHO)' instead of 'echo'
    * replaced all COMMAND.COM commands by DJGPP tools
2009-08-18 19:20:59 +00:00
Przemyslaw Czerpak
672a203965 2009-08-18 19:44 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/contrib/hbodbc/odbc.c
  * harbour/contrib/rddsql/sddodbc/odbcdd.c
    * synced workarounds for missing in some header files SQL* definitions

  * harbour/config/globsh.mk
  * harbour/config/instsh.mk
    ! eliminated COMMAND.COM commands used for DOS shell - I've just tested
      that they do not work with pure MS-DOS 6.2 without using $(CMDPREF)
      though they works with FreeDOS. Anyhow we can safely eliminate them
      using dj-*.exe tools directly without any if ... command.com testing.
      It also resolve the problem with IF EXIST <DIR>\NUL which is always
      true in some environment, i.e. Novel-NetWare drives.
2009-08-18 17:44:26 +00:00
Viktor Szakats
22791ac191 2009-08-17 19:05 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* config/dirsh.mk
    + Added '@' prefixes for nt and os2 shells.
2009-08-18 17:06:13 +00:00
Przemyslaw Czerpak
2dd3553040 2009-08-18 18:02 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/config/dir.mk
    % small simplification in used logic

  * harbour/config/dirsh.mk
    ! use := instead of = for DIR_RULE assignment - these rules contain
      dependencies macros which cannot be resolved during assignment
2009-08-18 16:02:51 +00:00
Viktor Szakats
ea162ea469 2009-08-17 17:50 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* config/dir.mk
    ! Fixed DIR_RULE assignment (:= back to =)
2009-08-18 15:51:05 +00:00
Viktor Szakats
6f4a6b04a8 2009-08-17 17:38 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* config/global.mk
    * Upped minimum GNU Make version requirement to 3.78 (from 3.70).
      We use many 3.78-only features since very long and in many
      Makefiles (like $(if)). 3.78 was released in 1999, the year
      Harbour has born, so this requirement looks pretty modest.
      Notice however that the "officially" documented (in INSTALL)
      minimum version is 3.81, and there are a few feature we
      actually use and need from this version. Some other make features
      are only enabled when using 3.80 (or upper) (parallel build),
      some others when using 3.81 (or upper) (build configuration
      information, verbose output).
    ; TODO: Either up the minimum version, or try to fix the remaining
            unprotected 3.80/3.81 features.
            My personal opininon is that if there is any reasonable
            chance we should make 3.80 or 3.81 the minimum official 
            requirement.
            This is a *nix-only issue, as dos/win/os2 are all covered 
            with recent 3.81 binary builds. Question is:
            How and which *nix platforms would be affected or limited 
            in such this case?
            BTW, 3.81 was released in 2006, 3.80 in 2002.

  * ChangeLog
    * Updated cross-build compatibility chart.
2009-08-18 15:40:42 +00:00
Viktor Szakats
97a1be7cd1 2009-08-17 13:29 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* config/global.mk
    + Added autodetection of cegcc tools on default install location.
    + Added error messages if specified or autodetected mingw/cegcc
      cross-tools couldn't be found.
    ! Minor cosmetic in warning/error msgs. (ending dot seems to be added
      by GNU Make)

  ; NOTE: Currently possible cross-build scenarios (except cross-CPU only cases,
          by host platform:

    on win hosts:
       -> wce/mingawrm
       -> wce/poccarm
       -> wce/msvcarm
       -> dos/djgpp
       -> dos/watcom    (* using DOS GNU make)
       -> os2/watcom
       -> linux/watcom
    on dos hosts:
       -> win/watcom    (*)
       -> os2/watcom    (*)
       -> linux/watcom  (*)
    on os2 hosts:
       -> win/watcom
       -> dos/watcom    (*)
       -> linux/watcom  (*)
    on linux hosts:
       -> wce/mingwarm
       -> win/mingw
       -> win/watcom
       -> dos/watcom    (*)
       -> os2/watcom
    on darwin/bsd/hpux/sunos hosts:
       -> win/mingw     (*)

    (*): Theoretically possible, but not heard of such build yet.

  * contrib/rddads/adsfunc.c
    + Added TOFIX to a very old typo in ADSDDREMOVETABLE() which
      makes it require a dummy variable to be passed as 3rd parameter.
2009-08-18 11:29:40 +00:00
Przemyslaw Czerpak
e52424622c 2009-08-18 13:08 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/harbour-win-spec
  * harbour/harbour.spec
  * harbour/harbour-wce-spec
    ! updated to work after recent modifications in make system
2009-08-18 11:08:52 +00:00
Przemyslaw Czerpak
125e1cbe72 2009-08-18 12:01 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/make_gnu_xmingw.sh
  * harbour/make_gnu_xmingwce.sh
  * harbour/bin/hb-func.sh
    ! fixed HB_CCPATH setting to be compatible with .mk files and hb* scripts
    ! fixed links to harbour share libraries
2009-08-18 10:01:38 +00:00
Viktor Szakats
5fe7239954 2009-08-17 10:38 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* config/wce/poccarm.mk
  * config/wce/msvcarm.mk
  * config/win/xcc.mk
  * config/win/pocc.mk
  * config/win/bcc.mk
  * config/win/watcom.mk
  * config/win/icc.mk
  * config/win/msvc.mk
  * config/rules.mk
    + Made dynamic compilation pass a little bit more generic.
      Now HB_DYN_COPT variable should be set to the switch(es) which
      are used in this pass. This will automatically enable the
      dynamic compilation pass. F.e. for *nix/gcc compilers it can
      be set to -fPIC.
2009-08-18 08:42:36 +00:00
Viktor Szakats
100438d922 2009-08-17 10:15 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* config/global.mk
    + Implemented win/mingw cross-tool autodetection.
      Based on the logic found in make_gnu_xmingwce.sh. It's not
      exactly the same, because I used HB_CCPATH and HB_CCPREFIX
      only. There is no fiddling with the PATH f.e. This may cause
      problems on some systems, but I couldn't understand the intent
      behind every logic (and host environments) in the old script.
      F.e. I left out dealing with 'TARGET' variable completely,
      including just recently added manual override. If they are
      needed with the new system, hopefully we can implement it in
      some ways.
      Please test. If this works out good, the two launcher scripts
      are no longer necessary.
    * Changed the way wce cross-builds are initiated. From now on
      HB_ARCHITECTURE needs to be set to wce in this case.
      For win targets, it needs to be set to win.
      So basically, to launch a win build on Linux you need to type:
         make HB_ARCHITECTURE=win
         (optionally you may set HB_CCPREFIX and HB_CCPATH (before make)
         to your liking, if the tool autodetection doesn't work)
      For wce builds, use:
         export HB_CCPATH=...
         make HB_ARCHITECTURE=wce
2009-08-18 08:20:16 +00:00
Phil Krylov
c919b546ed 2009-08-18 10:44 UTC+0300 Phil Krylov <phil@newstar.rinet.ru>
* make_gnu_xmingw.sh
    ! Fixed the check for old mingw cross-compiler versions under Gentoo.
2009-08-18 06:44:22 +00:00
Przemyslaw Czerpak
0140eb46f7 2009-08-18 01:29 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/contrib/xhb/xhbmt.prg
    * renamed: xhb_StartThread() => StartThread(),
      xhb_mutexSubscribe() => Subscribe(),
      xhb_mutexSubscribeNow() => SubscribeNow()
    ! fixed timeout parameter used in Subscribe[Now]()
      Harbour uses seconds and xHarbour milliseconds
    + added xHarbour compatible MT functions:
         hb_MultiThread(), GetCurrentThread(), GetThreadId( pThID ),
         ThreadGetCurrentInternal(), IsSameThread( pThID1, pThID2 ),
         IsValidThread( pThID ), JoinThread( pThID ), KillThread( pThID ),
         StopThread( pThID ), KillAllThreads(), WaitForThreads(),
         ThreadSleep( nTimeOut ), DestroyMutex( mtx ),
         hb_MutexTryLock( mtx ), hb_MutexTimeOutLock( mtx, nTimeOut ),
         Notify( mtx, xVal ), NotifyAll( mtx, xVal ),
         ThreadGetCurrent(), GetSystemThreadId( pThID )

  * harbour/contrib/xhb/xhb.ch
    * removed not longer necessary translation rules

  * harbour/contrib/xhb/hbcompat.ch
    + added missing translation rules for MT functions for both Harbour
      and xHarbour sections.
      Please synchronize this file with xHarbour.
      It's enough to copy it to xHarbour CVS - it should also fix some
      problems reported by xHarbour users on comp.lang.xharbour
2009-08-17 23:29:15 +00:00
Viktor Szakats
282af2d41b 2009-08-17 22:47 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* config/global.mk
    ! Fixed previous commit after actual testing.
      Now wce cross build on linux works by simply setting HB_CCPATH
      and issuing 'make'.
    ; TODO: Extend above logic to other *nix platforms.
2009-08-17 20:49:20 +00:00
Viktor Szakats
a6dff3e61a 2009-08-17 21:30 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* config/global.mk
  * config/wce/mingwarm.mk
  * config/win/mingw.mk
    + Added logic to support linux wince cross-builds.
      My goal was to implement make_gnu_xmingwce.sh functionality
      inside make files. I've yet to install cegcc to my Linux,
      so I didn't test it yet, but please do. It's experimental
      yet and ATM the wce target can be enabled by pointing
      HB_CCPATH to cegcc install dir. This may change in the future.
    + In cross build scenarios the default HB_INSTALL_PREFIX is
      now /usr/local/harbour-<arch>-<comp>
      Somewhat replicating current .sh behaviour. Not exactly
      because I wanted to stay with conventions found in other parts
      of Harbour. With .sh the dir was:
         /usr/local/arm-wince-mingwce-harbour
      With new system it's:
         /usr/local/harbour-wce-mingwarm
    ; QUESTION: I'm not familiar with .spec files, but it looks there are
                some redunant settings inside harbour-wce-spec.
                F.e. HB_CONTRIBLIBS should be left to default and local
                Makefiles should do the ground work of deciding whether
                a given contrib needs to be built.
                CC_HB_USER_PRGFLAGS also seems redundant now, although
                there may still be some .sh logic which needs it.
                'make -i' seems dangerous option when creating a release
                package.

  * make_gnu_xmingwce.sh
    ! Typo in comment.
2009-08-17 19:42:50 +00:00