Commit Graph

1296 Commits

Author SHA1 Message Date
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
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
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
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
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
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
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
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
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
Viktor Szakats
e7aa977815 2009-08-17 19:16 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* config/none.mk
  * config/global.mk
  * config/bsd/gcc.mk
  * config/lib.mk
  * config/wce/mingwarm.mk
  * config/wce/poccarm.mk
  * config/wce/msvcarm.mk
  * config/bin.mk
  * config/dir.mk
  * config/hpux/gcc.mk
  * config/darwin/gcc.mk
  * config/dos/watcom.mk
  * config/dos/djgpp.mk
  * config/win/xcc.mk
  * config/win/mingw.mk
  * config/win/msvc64.mk
  * config/win/iccia64.mk
  * config/win/pocc.mk
  * config/win/bcc.mk
  * config/win/watcom.mk
  * config/win/mingw64.mk
  * config/win/msvcia64.mk
  * config/win/gcc.mk
  * config/win/pocc64.mk
  * config/win/icc.mk
  * config/win/cygwin.mk
  * config/win/msvc.mk
  * config/header.mk
  * config/linux/watcom.mk
  * config/linux/gcc.mk
  * config/linux/icc.mk
  * config/linux/sunpro.mk
  * config/os2/watcom.mk
  * config/os2/gcc.mk
  * config/sunos/gcc.mk
  * config/sunos/sunpro.mk
  * config/doc.mk
  * config/install.mk
    * Renaming .cf files to .mk.
      Pass 2. Changing .cf references to .mk ones inside config.
      SVN is in non-working state yet.
2009-08-17 17:17:43 +00:00
Viktor Szakats
213b636bb5 2009-08-17 19:09 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
- config/prg.cf
  + config/dirsh.mk
  - config/none.cf
  - config/global.cf
  - config/lib.cf
  + config/prg.mk
  - config/bin.cf
  - config/dir.cf
  - config/globsh.cf
  + config/none.mk
  + config/global.mk
  + config/bsd/gcc.mk
  - config/bsd/gcc.cf
  + config/bsd/global.mk
  - config/bsd/global.cf
  - config/c.cf
  + config/lib.mk
  - config/wce/msvcarm.cf
  + config/wce/global.mk
  - config/wce/global.cf
  + config/wce/mingwarm.mk
  - config/wce/mingwarm.cf
  + config/wce/poccarm.mk
  - config/wce/poccarm.cf
  + config/wce/msvcarm.mk
  + config/bin.mk
  - config/header.cf
  - config/rules.cf
  + config/darwin/gcc.mk
  - config/darwin/gcc.cf
  + config/darwin/global.mk
  - config/darwin/global.cf
  + config/hpux/gcc.mk
  - config/hpux/gcc.cf
  + config/hpux/global.mk
  - config/hpux/global.cf
  + config/dir.mk
  + config/globsh.mk
  + config/dos/watcom.mk
  - config/dos/watcom.cf
  + config/dos/global.mk
  - config/dos/global.cf
  + config/dos/djgpp.mk
  - config/dos/djgpp.cf
  + config/c.mk
  - config/doc.cf
  - config/win/watcom.cf
  - config/win/mingw64.cf
  + config/win/xcc.mk
  - config/win/gcc.cf
  - config/win/msvcia64.cf
  - config/win/icc.cf
  - config/win/pocc64.cf
  + config/win/mingw.mk
  - config/win/cygwin.cf
  - config/win/global.cf
  + config/win/iccia64.mk
  + config/win/msvc64.mk
  + config/win/pocc.mk
  + config/win/bcc.mk
  - config/win/msvc.cf
  + config/win/watcom.mk
  + config/win/mingw64.mk
  + config/win/gcc.mk
  + config/win/msvcia64.mk
  + config/win/icc.mk
  - config/win/xcc.cf
  + config/win/pocc64.mk
  + config/win/cygwin.mk
  + config/win/global.mk
  - config/win/mingw.cf
  - config/win/msvc64.cf
  - config/win/iccia64.cf
  - config/win/pocc.cf
  - config/win/bcc.cf
  + config/win/msvc.mk
  - config/install.cf
  + config/header.mk
  - config/instsh.cf
  + config/linux/watcom.mk
  - config/linux/watcom.cf
  + config/linux/gcc.mk
  - config/linux/gcc.cf
  + config/linux/icc.mk
  - config/linux/icc.cf
  + config/linux/global.mk
  - config/linux/global.cf
  + config/linux/sunpro.mk
  - config/linux/sunpro.cf
  - config/dirsh.cf
  + config/rules.mk
  + config/os2/watcom.mk
  - config/os2/watcom.cf
  + config/os2/gcc.mk
  - config/os2/gcc.cf
  + config/os2/global.mk
  - config/os2/global.cf
  + config/sunos/gcc.mk
  - config/sunos/gcc.cf
  + config/sunos/global.mk
  - config/sunos/global.cf
  + config/sunos/sunpro.mk
  - config/sunos/sunpro.cf
  + config/doc.mk
  + config/install.mk
  + config/instsh.mk
    * Renaming .cf files to .mk.
      Pass 1. The SVN will be in non-working state until the next 
      commit. Please don't build Harbour for about an hour now.
2009-08-17 17:12:19 +00:00
Viktor Szakats
e258a9c658 2009-08-17 18:08 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* config/linux/global.cf
    ! Fixed HB_USER_CFLAGS -> HB_CFLAGS.
2009-08-17 16:08:22 +00:00
Viktor Szakats
db5bb770a7 2009-08-17 17:30 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* include/hbsetup.h
    % Optimized out HB_OS_UNIX_COMPATIBLE. HB_OS_UNIX should be used
      instead. Since the definition logic for HB_OS_UNIX was completely
      different from HB_OS_UNIX_COMPATIBLE, it may be possible that
      it's not 100% the same as before, although their meaning was
      the same.
      HB_OS_UNIX_COMPATIBLE is still available for compatibility, but
      it's now marked with HB_LEGACY_LEVEL2 and will be removed in next
      major release.

  * include/hbapifs.h
  * include/hb_io.h
  * include/hbsocket.h
  * source/vm/set.c
  * source/debug/dbgentry.c
  * source/common/hbffind.c
  * source/rtl/fscopy.c
  * source/rtl/fstemp.c
  * source/rtl/gtstd/gtstd.c
  * source/rtl/gttrm/gttrm.c
  * source/rtl/version.c
  * source/rtl/hbsocket.c
  * source/rtl/copyfile.c
  * source/rtl/filesys.c
  * source/rtl/console.c
  * source/rtl/cputime.c
  * source/rtl/gtpca/gtpca.c
  * source/rtl/fssize.c
  * source/rtl/memofile.c
  * source/compiler/hbcomp.c
  * source/compiler/gencobj.c
  * contrib/hbct/files.c
  * contrib/xhb/xhbcopyf.c
  * contrib/xhb/hbserv.c
  * contrib/hbnf/getenvrn.c
    * HB_OS_UNIX_COMPATIBLE -> HB_OS_UNIX

  * config/global.cf
    * HB_UNIX_COMPATIBLE -> HB_OS_UNIX
2009-08-17 15:31:07 +00:00
Viktor Szakats
7eb4de41a3 2009-08-17 11:46 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* contrib/hbxbp/tests/demoxbp.prg
    ! Opening test.dbf in RO mode to avoid it being update.
      Couldn't spot the code which touched it.

  * config/global.cf
    - Deleted unused and commented code section.

  * INSTALL
    - Deleted HB_INSTALL_PREFIX from quickstart instructions.
    ! Modified hbmk2 hello.prg command to work on *nixes.
      (I never tried this default scenario though)
    * Modified non-*nix hbmk2 commands to look more natural
      and similar to *nix.
    - Deleted mingw32-make as suggested tool for dos builds done
      on NT hosts. It chokes with too long cmdline with mingw32-make.

  * bin/hb-mkdyn.sh
    - Deleted wininet from wce liblist.
2009-08-17 09:48:07 +00:00
Phil Krylov
7f4a44826a 2009-08-17 13:18 UTC+0300 Phil Krylov <phil@newstar.rinet.ru>
* make_gnu_xmingw.sh
    + Allow user to override the default TARGET.
  * config/global.cf
    ! Don't add /harbour (LIB|INC)POSTFIX if HB_INSTALL_PREFIX contains
      /usr/home (synonym of /home under FreeBSD).
    ! Fixed INCPOSTFIX usage so it works now.
  * config/linux/global.cf
    ! Added x86_64 to -fPIC machines.
2009-08-17 09:20:10 +00:00
Viktor Szakats
b10e952e47 2009-08-17 09:10 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* config/global.cf
    + Setting HB_INSTALL_PREFIX (if not set) to PREFIX or DESTDIR (if set,
      in that order), on *nix systems.
2009-08-17 07:11:52 +00:00
Viktor Szakats
ffb226c3c5 2009-08-16 10:37 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* config/global.cf
    + Package creation now only works if run from Harbour source root.
    + 'clean' of pkg dir will only happen now if run from Harbour source root.
2009-08-16 08:37:39 +00:00
Viktor Szakats
fbae174bb7 2009-08-16 10:04 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* ChangeLog
  * config/globsh.cf
    + 'clean' now deletes pkg/<arch>/<comp> dir. This ensures that
      package creation always starts with a fresh empty dir.
      Resolves existing TOFIX (marked DONE).
2009-08-16 08:05:03 +00:00
Viktor Szakats
6c75001583 2009-08-16 09:39 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* config/global.cf
    ! Fixed to process HB_BUILD_NAME when forming package install dir
      inside /pkg dir.
    % Delete an unnecessary line.

  * package/mpkg_win.nsi
  * config/global.cf
  * bin/postinst.bat
    * Little bit changed the way dirs/names are communicated from
      GNU Make to postinst package creation code.
      The goal was to have an internal PKG_DIR var which is similar
      to other *_DIR vars. It was also possible to delete some
      exported vars this way.
    - Disabled package creation for non-NT shells (= pure MS-DOS).
      I found no way to make this work cleanly on pure MS-DOS.
    + Documented weird requirements of zip building. Also to better
      clarify why abspath is needed in GNU Make.

  * config/instsh.cf
    * Updated OS/2 comment to clarify some issues according to
      information from Maurilio.
2009-08-16 07:41:52 +00:00
Viktor Szakats
70ee5f4d60 2009-08-16 03:09 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* ChangeLog
  * source/rtl/Makefile
  * source/rdd/Makefile
  * config/bin.cf
  * config/wce/global.cf
  * config/rules.cf
    % Using HB_PRGFLAGS instead of HB_GCMODE. Logic is now simple
      and standard.
2009-08-16 01:14:14 +00:00
Viktor Szakats
34f14f481e 2009-08-16 02:47 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* config/global.cf
  * config/rules.cf
  * config/dos/watcom.cf
  * config/win/watcom.cf
  * config/os2/watcom.cf
    % Using HB_PRGFLAGS instead of HB_FLAGSEXTRA.
    % Using HB_CFLAGS and HB_PRGFLAGS instead of HB_CDBG.
    % Using HB_CFLAGS instead of HB_CUNICODE.
    % Moved all flags from HB_RULE to HB_FLAGS (except HB_USER_PRGFLAGS).
      This only affects dos/watcom, more cmdlines will be put in HARBOURCMD.

  * external/sqlite3/Makefile
  * external/libhpdf/Makefile
  * external/libpng/Makefile
  * source/vm/maindllh/Makefile
  * source/vm/maindllp/Makefile
  * source/vm/vmmt/Makefile
  * source/rtl/gtxwc/Makefile
  * source/rtl/gtcrs/Makefile
  * source/rtl/gttrm/Makefile
  * source/rtl/gtsln/Makefile
  * contrib/gtalleg/Makefile
  * contrib/hbmysql/Makefile
  * contrib/hbodbc/Makefile
  * contrib/hbsqlit3/Makefile
  * contrib/hbqt/Makefile
  * contrib/hbfbird/Makefile
  * contrib/hbcurl/hbcurls/Makefile
  * contrib/hbcurl/Makefile
  * contrib/gtqtc/Makefile
  * contrib/rddsql/sddmy/Makefile
  * contrib/rddsql/sddpg/Makefile
  * contrib/rddsql/sddfb/Makefile
  * contrib/rddsql/sddodbc/Makefile
  * contrib/hbhpdf/Makefile
  * contrib/hbpgsql/Makefile
  * contrib/rddads/Makefile
  * contrib/hbfimage/Makefile
  * contrib/hbgd/Makefile
  * contrib/hbtip/hbtipssl/Makefile
  * contrib/hbssl/Makefile
    ! Using HB_CFLAGS/HB_PRGFLAGS to specify Makefile local
      compiler settings instead of modifying HB_USER_*FLAGS.
      This way the double defines are gone.
    + Included global.cf to all Makefiles which needs to modify
      HB_CFLAGS/HB_PRGFLAGS. Probably we should move global.cf
      inclusion to the top of all Makefiles as a convention.
      Not terribly elegant, but solves a few problems and
      more efficient.
    % Changed ', -I$(d))' to ',-I$(d))' along the way. This avoids
      wasting an extra space in command line.
    ; NOTE: It'd still be beneficial to find a way to get rid of 
            'descend' rule. It could make cmdlines cleaner/shorter 
            and whole build process simpler/faster. I didn't manage 
            so far.

  * source/vm/Makefile
    * Deleted 'HB_USER_CFLAGS := $(subst -DHB_MT_VM,,$(HB_USER_CFLAGS))'
      (since it's no longer supported practice to modify user supplied flags)
      I'm not sure if it's important enough to have. AFAIK there is no
      reason users use HB_MT_VM define, it's not a public setting, so we
      shouldn't go too much far in trying to protect against its presence.
      If it's needed, we should add 'HB_CFLAGS += -DHB_ST_VM' and handle
      HB_ST_VM as the reverse of HB_MT_VM inside the source.

  * source/rdd/dbffpt/dbffpt1.c
  * source/rdd/dbffpt/Makefile
    * Optimizations are now disabled using #pragma for __XCC__ instead of
      deleting them from HB_USER_CFLAGS. Please test, and see above on
      modifying HB_USER_CFLAGS in our make files.

  * bin/postinst.cmd
    ! Deleted double quote from target dir in xcopy commands.
      Blind change.

  * utils/hbtest/rt_main.ch
  * utils/hbtest/hbtest.hbp
  * utils/hbtest/Makefile
    + Changed to use #pragma to turn on line numbers instead of
      using HB_USER_PRGFLAGS (or HB_PRGFLAGS). This way there is
      no need for Makefile hack/tweaks and it works with all make methods
      automatically.

  * config/instsh.cf
    ! Partially restored a few things which were lost without comments
      in prev OS/2 commit:
      - Formatting
      - '@' prefixes
      - '-' prefixes
2009-08-16 00:55:17 +00:00
Maurilio Longo
3357d24e1a 2009-08-15 23:255 UTC+0200 Maurilio Longo (maurilio.longo@libero.it)
* config/instsh.cf
     ! fixed OS/2 section, work around for OS/2 shell max line lenght.
2009-08-15 21:22:12 +00:00
Viktor Szakats
57c051a829 2009-08-15 18:32 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* config/global.cf
    + Added new plans for further setting cleanup.

  * config/global.cf
  * config/rules.cf
  * config/dos/watcom.cf
  * config/win/watcom.cf
  * config/os2/watcom.cf
    + Added HB_CFLAGS, HB_PRGFLAGS. These will now replace all
      Makefile level manipulation of flags. Should eventually
      replace all HB_USER_*FLAGS, HB_GCMODE, HB_INC_DEPEND,
      HB_CUNICODE, HB_CDBG and HB_FLAGSEXTRA variables, if everything
      goes well.

  * contrib/hbwin/wapi_winuser.c
    + Added WAPI_GETKEYSTATE().
2009-08-15 16:33:06 +00:00
Viktor Szakats
fa8119350a 2009-08-15 12:39 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* config/none.cf
  * config/global.cf
  * config/instsh.cf
  * config/dirsh.cf
    ! Fixed minor visual glitch on non-sh shells where some echoed messages
      were shown inside double quotes.
      There is only one such but very rare message left in global.cf.

  * ChangeLog
    ! Typo in prev entry.

  * config/dos/djgpp.cf
    * Changed 'echo.' to 'echo' to make it shell independent just like
      all other echo commands in the make config files.
      Pre-2.02 DJGPP distros had an echo.exe, originally I may have
      added to dots to force using the shell echo instead of this external
      one. Quick tests made with djecho.exe (the new name of echo.exe)
      showed it working. Maybe old echo.exe had some bad side effects,
      I don't remember and ChangeLog entry doesn't have the reason.
2009-08-15 10:20:38 +00:00
Viktor Szakats
6969cc0123 2009-08-15 11:21 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
- make_gnu.sh
  * config/linux/global.cf
    - Deleted. The -fPIC logic is moved to linux/global.cf but it's
      incomplete yet, some comments were added there.

  * contrib/hbcurl/hbcurl.hbc
  + contrib/hbcurl/hbcurls.hbc
    + Added separate .hbc file for static mode hbcurl lib.
      This replaces former HB_CURL_STATIC setting.

  * contrib/hbcurl/Makefile
  * external/Makefile
  * contrib/Makefile
    % Minor optimization to DIRS var.
      (in few cases it wasn't init to empty with := operator)

  + contrib/hbtip/hbtipssl.hbc
  + contrib/hbtip/hbtipssl
  + contrib/hbtip/hbtipssl/Makefile
  * contrib/hbtip/Makefile
    + Now building separate SSL enabled hbtip lib in case HB_HAS_OPENSSL.
    + Added separate .hbc file for SSL enabled hbtip lib, which also
      pulls hbssl libs and dependencies.

  * config/prg.cf
  * config/lib.cf
  * config/bin.cf
  * config/globsh.cf
  * config/dir.cf
  * config/c.cf
  * config/header.cf
  * config/doc.cf
  * config/instsh.cf
  * config/dirsh.cf
    % Optimized remaining (more delicate) logic to use :=
      instead of = assigment operator.
      At this point there is nothing left to optimize in this
      regard.
    ; I didn't restest parallel build and BISON related rules,
      please do so, I hope they aren't broken. Or in case you
      notice anything strange please shout.

  * config/global.cf
    + Added link to GNU Make NEWS files which describes at which release
      some features were added.

  * config/dos/watcom.cf
  * config/win/watcom.cf
  * config/os2/watcom.cf
    ! Synced special watcom CC_RULEs with recent changes to global CC_RULE.
2009-08-15 09:37:39 +00:00
Viktor Szakats
a5efb41af9 2009-08-15 00:40 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* INSTALL
  * make_gnu.sh
  * config/global.cf
  * config/lib.cf
  * config/bin.cf
    % Deleted HB_USER_MAKEFLAGS envvar.
      Simply pass these flags to make executable (or .sh scripts)

  * config/global.cf
    + Added some TODO/NOTE/TOFIX about GNU Make version compatibility
      of some feature we're using.
    + Showing MAKEFLAGS.
    % Using MAKEFLAGS for --no-print-directory trick.
2009-08-14 22:42:07 +00:00
Viktor Szakats
e85ec8a2c2 2009-08-14 23:55 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* INSTALL
    + Separated instructions for linux/darwin and rest of *nixes.
      The only difference is that the latter needs 'gmake' command
      to start.
    + MSYS/Cygwin section extended a bit. (It's now possible to
      build for any compilers from MSYS/Cygwin)

  * make_gnu.sh
    % Deleted unused HB_ARCH64 variable.

  * config/global.cf
    - Deleted svnversion trick since it's not guaranteed this
      command is present on builder's system.
    + Added doc links from make_gnu.sh. (deleted from there)
    * Changed to default HB_INSTALL_PREFIX to /usr/local on
      *nix systems. I very much don't like this (even though I
      understand why it's done that way).
    + Added {HB_TOP} macro for HB_INSTALL_PREFIX, so if someone
      wants to install Harbour in its own dir, it enough to do:
      export/set HB_INSTALL_PREFIX={HB_TOP}.
      This is crucial if someone doesn't want to "pollute" system
      areas with Harbour builds, doesn't want to use admin rights
      to make the install, or if someone wants to use multiple
      Harbour builds in parallel for any reason. hbmk2 works
      perfectly without Harbour being installed to system location.
    + Whenever HB_INSTALL_PREFIX is modified by GNU Make (defaulting
      or macro replacement), the new value will be presented for the
      user.
    % Minor optimization.
    * Minor cleanups to pkg dir assembling logic.

  * config/linux/global.cf
    + Added -fPIC detection logic. This is just a start, it doesn't
      replicate full logic found in make_gnu.sh. Przemek, if you have
      some spare time, please look into it.
2009-08-14 22:00:32 +00:00
Viktor Szakats
fdc37cc149 2009-08-14 20:08 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* source/rtl/hbsocket.c
    ! Applied fix for Cygwin as per Przemek's instructions.
      (I've guarded #undef HB_OS_WIN with defined( __CYGWIN_ ))

  * INSTALL
    - Deleted some by now irrelevant restrictions and rules.
    + Added pointers to NT GNU Make, DJ GNU Make and OS/2 GNU Make.
    + Added HB_COMPILER/HB_ARCHITECTURE to option list. These
      should now be mostly optional. They are only needed in a
      few situations when autodetection cannot work (secondary pocc
      targets for example), or in cross build situations when
      we want to force some non-native configuration.
    % Deleted HB_INSTALL_PREFIX from examples. It's optional.
    % Deleted all settings which are now autodetected.
      I didn't retest them of course, please try them, and if
      something was removed by mistake pls report it.
      The reduction is quite dramatic. Starting the build is
      really only just starting GNU Make in most cases.
    % Converted *all* examples to not use starter script/batch 
      files. As a next step I'll probably delete them to make 
      even *less* choices for builders and because current 
      starter files don't offer anything interesting anymore.
      Maybe also included GNU Make executable will also be 
      deleted.
    % Simplified Cygwin example.

  * make_gnu.bat
    - Deleted Cygwin logic.
    ; I just realized that after all these GNU Make development,
      there is no need at all for make_gnu.sh for Cygwin and it's
      a no brainer to launch make either using NT shell or Cygwin/MSYS
      shell. It just works by starting GNU Make in whichever shell
      or environment you are. [ Well, with NT shell it doesn't seem
      to work because gcc.exe is named gcc-3.exe on my system,
      anyway, this doesn't change the point. ]
      The only remaining "complexity" is finding the name of GNU
      Make in a given environment and not use the wrong one
      (f.e. Cygwin make.exe in NT shell).

  * config/global.cf
    + Added svnversion output in verbose mode.
2009-08-14 18:10:21 +00:00
Viktor Szakats
12437a39c2 2009-08-14 18:11 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* make_gnu_os2.cmd
    % Minor opt. I hope OS/2 accepts such 'if' command.

  * include/hbthread.h
    ! Fix to poccarm build. Provided by Przemek.

  * utils/hbmk2/hbmk2.prg
  * config/wce/msvcarm.cf
  * config/wce/global.cf
  * config/wce/poccarm.cf
    + Added -DUNICODE for mingwarm. It didn't seem to require it so far, 
      but I thought it's better to define this for all wce compilers.
    % Deleted -DHB_NO_WIN_CONSOLE. No longer exists in Harbour.
    % Deleted /stack:65536,4096 linker option from wce/msvcarm.
      I'm just guessing it's not needed.
    + -DUNICODE is now enforced through HB_BUILD_UNICODE=yes setting 
      in GNU Make for all wce compilers.
2009-08-14 16:11:58 +00:00
Viktor Szakats
32b6c86e1e 2009-08-14 16:51 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* config/bsd/gcc.cf
  * config/hpux/gcc.cf
  * config/darwin/gcc.cf
  * config/dos/djgpp.cf
  * config/linux/gcc.cf
  * config/linux/icc.cf
  * config/linux/sunpro.cf
  * config/os2/gcc.cf
  * config/sunos/gcc.cf
  * config/sunos/sunpro.cf
    % Deleted meaningless comment.
2009-08-14 14:51:55 +00:00
Viktor Szakats
bac3f6b462 2009-08-14 16:39 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* bin/hb-mkdyn.bat
    ! Applied recent change in WinCE .dll names.
    % Remmed some verbose output in .dll generation code.

  * bin/postinst.bat
  * bin/hb-mkimp.bat
    * Minor in wording.

  * utils/hbmk2/hbmk2.prg
    ! Fixed converting input filename dirseps for target compiler
      in resource compiler commands. (error ocurred when testing
      mingwarm)

  * config/win/bcc.cf
    ! Fixed bad typo in prev commit.

  * config/dos/watcom.cf
  * config/win/watcom.cf
  * config/linux/watcom.cf
  * config/os2/watcom.cf
    + Added -q to wlib cmdline.
2009-08-14 14:46:38 +00:00
Viktor Szakats
30ade9b7e2 2009-08-14 15:35 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* bin/hb-mkdyn.bat
    ! Fixed gcc family (mingw) .dll generation. New tricks
      had to be employed to workaround 8K cmdline limits.

  * contrib/hbwin/win_misc.c
    * Implemented recent WinCE fix by Przemek for another
      CreateProcess() call.

  * utils/hbmk2/hbmk2.prg
    * Cleaned system lib list for wce platform.
      wininet, commdlg, commctrl libs moved from base to extra
      system lib list. These libs aren't needed by Harbour code
      code. [ No change in functionality, just synced with rest
      of Harbour. ]
      I didn't test yet, but seeing the content of this lib,
      it's not needed for Harbour core code.

  * config/wce/global.cf
  * bin/hb-mkdyn.bat
    % Deleted wininet wce system lib from liblist.

  * config/wce/poccarm.cf
    % Deleted winsock wce system lib from poccarm liblist.
      ws2 should be enough. (I didn't retest the platform yet)

  * config/wce/msvcarm.cf
  * config/wce/global.cf
  * config/wce/mingwarm.cf
  * config/wce/poccarm.cf
  * config/win/watcom.cf
  * config/win/icc.cf
  * config/win/cygwin.cf
  * config/win/global.cf
  * config/win/msvc.cf
  * config/win/xcc.cf
  * config/win/mingw.cf
  * config/win/pocc.cf
  * config/win/bcc.cf
    % Moved system lib list definition to <arch>/global.cf files
      for wce/win platforms.
      This will ensure that compilers for the same platform will
      always use the same system libs too.
      Added reasoning in comment for each extra win system lib.
    % Deleted the same meaningless comment line from all files.

  * config/global.cf
    + Showing $(SHELL) variable content.
    + Added experimental support for explicitly changing $(SHELL)
      variable for nt and dos shells. This should solve the
      problem when mingw32-make is picking up sh.exe as shell if
      cygwin or msys is in the PATH (or the user may also have
      sh.exe laying around).

  * INSTALL
    % Deleted SHLVL hack from wce/mingwarm build config example.
      Not needed anymore.
    % Deleted "sh.exe mustn't be in the path" sentences.
      Not needed anymore, now it can be in the PATH.

  * make_gnu.bat
    + Readded calling sh for cygwin. (sorry I needed this personally
      to keep the same interface for all cases on Windows, but I'll
      think about this further, also to better cover mingw+msys case.
      So this is rather temporary.)
2009-08-14 14:09:25 +00:00
Viktor Szakats
7e404492dc 2009-08-14 11:24 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* bin/postinst.bat
    * Minor internal cleanup.

  * bin/hb-mkdyn.bat
  * config/lib.cf
    ! Fix for gcc family.
    ! Fixed to use /Y switch with move commands.
    % Use automatically created .lib files instead of generating
      them explicitly with pocc.
    + Move .exp file to lib dir with pocc.
    ! Three fixes for watcom .dll generation.

  * config/global.cf
    + Plans added to cleanup lots of config vars with various names.
    + Added central OpenSSL detection by the name HB_HAS_OPENSSL.
      This makes it possible to use OpenSSL in core or in any contrib
      without much hassle.

  * contrib/hbtip/Makefile
  * contrib/hbssl/Makefile
    + Relying on central OpenSSL detection logic.
    ; TOFIX: For hbmk2 hbssl.hbc should be added explicitly to the
             cmdline yet.

  * config/instsh.cf
    * Suppressing install copy command for cleaner output.

  * ChangeLog
    + Marked items [DONE]
2009-08-14 09:31:12 +00:00
Viktor Szakats
34b7c959d4 2009-08-14 09:34 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* source/rtl/gtsln/gtsln.c
    ! Fixed linux/gcc warning. Now write() retval is checked.

  * config/global.cf
    ! Fixed wrong autodetection due to recent change.
      (HB_COMPILER needs to be checked against empty value)
2009-08-14 07:35:18 +00:00
Viktor Szakats
11f8e54b17 2009-08-14 08:41 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* INSTALL
  * make_gnu.bat
    - Deleted HB_BUILD_LOG option. This will have to be made
      on the user side. It was a fresh feature and a Windows/DOS-only
      one so I hope this isn't a big loss.

  - bin/hb-mkpkg.bat
  * bin/postinst.bat
    % Integrated package creation code into postinst.bat.

  * make_gnu.bat
    - Deleted special handling of cygwin. make_gnu.sh should be
      started directly, IMO not a big problem.

  * config/global.cf
    ! Fixed pathseps in default HB_INSTALL_PREFIX.
    ! Fixed to use abs path when setting HB_INSTALL_PREFIX default.
      (it's required by .nsi file to find the source files)
    ! Fixed setting HB_ARCHITECTURE for some win/dos-only HB_COMPILER
      values.
    + --no-print-directory make flag isn't added if HB_USER_MAKEFLAGS
      contains -w or --print-directory. Seems that simply adding these
      flags after the former won't just reenable it.

  - config/test.cf
    - Deleted, no longer used.
2009-08-14 06:42:19 +00:00
Viktor Szakats
e44c660cb5 2009-08-13 21:44 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* config/global.cf
    * Minor cosmetic.
    + Exporting OBJ_DIR as HB_OBJ_DIR.
    ! Fixed detecting 'clean install' on HB_BUILD_PKG=yes.

  * bin/hb-mkdyn.bat
    % Using HB_OBJ_DIR instead of replicating logic.

  * INSTALL
  * bin/postinst.sh
  * make_gnu.sh
  * utils/hbmk2/hbmk2.prg
  - config/linux/sunpro64.cf
  - config/sunos/sunpro64.cf
    + Patch by Tamas Tevesz.
      Deleted sunpro64 as a distinct compiler target.

  * utils/hbmk2/hbmk2.prg
    ! Fixed to not delete source file when using unimplemented
      arch/compiler combinations. (sunpro currently)
      Reported by Tamas Tevesz.

  * config/bsd/global.cf
  * config/wce/global.cf
  * config/hpux/global.cf
  * config/darwin/global.cf
  * config/dos/global.cf
  * config/win/global.cf
  * config/linux/global.cf
  * config/os2/global.cf
  * config/sunos/global.cf
    - Deleted DYN_EXT, DYN_PRE. Wasn't needed, can be added once
      it will be.
2009-08-13 19:45:03 +00:00