2009-03-06 10:13 UTC+0100 Viktor Szakats (harbour.01 syenar hu)

* utils/hbmk2/hbmk2.prg
    ! Fixed -gh switch detection and workings.
      (Francesco, pls check now allmod.hbm)
    + -gt switch can now be filtered. (-gtwin{win})
    ! -gui switch won't anymore add '-Wl,-mwindows' C compiler switch
      on *nix systems. Someone pls confirm this is right.
    * icc will use -vc postfixed .dlls. They seem to be binary
      compatible, but I didn't test.
    % Using __PLATFORM__UNIX macro where applicable.
    ! Ignoring -o Harbour option passed using '-prgflag:'

  * INSTALL
    + Added some details.

  * mpkg_win.bat
    ! Don't create install files if the make process returned
      with error.

  * source/lang/msg_tpl.c
    ! Removed ending ';'.

  * source/vm/Makefile
    + Added icc to generate maindllh.lib.

  * source/common/hbfsapi.c
    ! Removed obsolete 'extern hb_fhnd_ForceLink()'.

  * config/rules.cf
  * config/lib.cf
  * config/bin.cf
    % Compiling all .prg files with -n1 switch.

  * contrib/examples/uhttpd/uhttpdc.c
    * Cleaned Windows headers usage.
      #define HB_OS_WIN_USED is safe to use on all platforms,
      it just requests the Windows headers, and if compiled on
      Windows, it will #include them.

  * contrib/examples/uhttpd/uhttpd.prg
    + Automatically sets USE_HB_INET on non-Windows platforms.

  - contrib/examples/uhttpd/uhttpd-inet.hbm
  - contrib/examples/uhttpd/uhttpdgd-inet.hbm
    - Removed files no longer necessary.

  * contrib/examples/uhttpd/uhttpd.hbm
    + Added comment about -DUSE_HB_INET option.
    % Removed -lhbct
This commit is contained in:
Viktor Szakats
2009-03-06 09:21:06 +00:00
parent abef4405ef
commit a1fd463ba2
15 changed files with 121 additions and 81 deletions

View File

@@ -8,6 +8,56 @@
2009-12-31 13:59 UTC+0100 Foo Bar (foo.bar foobar.org)
*/
2009-03-06 10:13 UTC+0100 Viktor Szakats (harbour.01 syenar hu)
* utils/hbmk2/hbmk2.prg
! Fixed -gh switch detection and workings.
(Francesco, pls check now allmod.hbm)
+ -gt switch can now be filtered. (-gtwin{win})
! -gui switch won't anymore add '-Wl,-mwindows' C compiler switch
on *nix systems. Someone pls confirm this is right.
* icc will use -vc postfixed .dlls. They seem to be binary
compatible, but I didn't test.
% Using __PLATFORM__UNIX macro where applicable.
! Ignoring -o Harbour option passed using '-prgflag:'
* INSTALL
+ Added some details.
* mpkg_win.bat
! Don't create install files if the make process returned
with error.
* source/lang/msg_tpl.c
! Removed ending ';'.
* source/vm/Makefile
+ Added icc to generate maindllh.lib.
* source/common/hbfsapi.c
! Removed obsolete 'extern hb_fhnd_ForceLink()'.
* config/rules.cf
* config/lib.cf
* config/bin.cf
% Compiling all .prg files with -n1 switch.
* contrib/examples/uhttpd/uhttpdc.c
* Cleaned Windows headers usage.
#define HB_OS_WIN_USED is safe to use on all platforms,
it just requests the Windows headers, and if compiled on
Windows, it will #include them.
* contrib/examples/uhttpd/uhttpd.prg
+ Automatically sets USE_HB_INET on non-Windows platforms.
- contrib/examples/uhttpd/uhttpd-inet.hbm
- contrib/examples/uhttpd/uhttpdgd-inet.hbm
- Removed files no longer necessary.
* contrib/examples/uhttpd/uhttpd.hbm
+ Added comment about -DUSE_HB_INET option.
% Removed -lhbct
2009-03-06 04:25 UTC+0100 Francesco Saverio Giudice (info/at/fsgiudice.com)
* harbour/contrib/examples/uhttpd/uhttpdc.c
* Fixed error in windows header include
@@ -171,7 +221,7 @@
* utils/hbmk2/hbmk2.prg
+ Added Intel(R) C++ compiler support for Windows.
+ Added initial support also in hbmk2.
; This compile is actively developed and its famous of
; This compiler is actively developed and its famous of
generating the fastest running code of all C compilers.
It also outputs an extremely detailed warning list.
And the best thing: It compiled Harbour without a single

View File

@@ -67,12 +67,10 @@ HOW TO BUILD AND INSTALL HARBOUR
Platform specific prerequisites:
1.) Windows NT or compatible system is required to build Harbour.
2.) Make sure to have your C compiler of choice properly installed,
please refer to your C compiler installation and setup
instructions for details. It's recommended to make sure no
tools in your PATH belonging to other C compilers are interfering
with your setup (put all these _after_ your selected C compiler
in PATH).
2.) Make sure to have your C compiler of choice properly installed.
Refer to your C compiler installation and setup instructions for
details. It's recommended to make sure no tools in your PATH
belonging to other C compilers are interfering with your setup.
For the list of supported compilers, please look up the
relevant section of this file.
3.) Make sure to have GNU Make. We recommend the one distributed
@@ -151,6 +149,8 @@ HOW TO ENABLE OPTIONAL COMPONENTS BEFORE BUILD
NOTES: - For mingw and cygwin you have to use forward slashes
and also cygwin drive notation for cygwin.
- Space in directory names isn't currently supported.
- Don't put the dir inside double quotes.
- Use absolute paths.
SUPPORTED C COMPILERS UNDER DIFFERENT PLATFORMS
@@ -181,9 +181,9 @@ SUPPORTED C COMPILERS UNDER DIFFERENT PLATFORMS
pocc64 - Pelles C 5.0 x64
poccce - Pelles C 5.0 (Windows CE / ARM)
xcc - Pelles C for xhb
owatcom - Open Watcom C++
icc - Intel(R) C/C++
bcc - Borland/CodeGear C++ 4.x and above
owatcom - Open Watcom C++
cygwin - Cygwin GNU C
DOS (32-bit)
@@ -244,7 +244,9 @@ OPTIONS AVAILABLE WHEN BUILDING HARBOUR
You need these when building for a platform different to host.
For this to work, you will need to point above envvars to
a native Harbour build available on your system.
a native Harbour build available on your system. You don't need
a full native build, harbour.exe and hbpp.exe are enough for
the process to succeed.
FOR MORE INFORMATION

View File

@@ -10,7 +10,6 @@ include $(TOP)$(ROOT)config/c.cf
include $(TOP)$(ROOT)config/prg.cf
HB_GCMODE=0
HB_NFLAG=-n
EXE_NAME=

View File

@@ -14,8 +14,6 @@ include $(TOP)$(ROOT)config/global.cf
include $(TOP)$(ROOT)config/c.cf
include $(TOP)$(ROOT)config/prg.cf
HB_NFLAG=-n1
LIB_NAME := $(LIB_PREF)$(LIBNAME)$(LIB_EXT)
LIB_ARCH := $(LIB_DIR)/$(LIB_NAME)

View File

@@ -23,11 +23,8 @@ HB := $(HB)harbour$(EXE_EXT)
ifeq ($(HB_GCMODE),)
HB_GCMODE=3
endif
ifeq ($(HB_NFLAG),)
HB_NFLAG=
endif
HB_FLAGS := -i$(HB_INC_COMPILE) -q0 -w3 -es2 -km -l
HB_RULE = $(HB) $? $(HB_NFLAG) $(HB_FLAGS) -gc$(HB_GCMODE) $(HB_USER_PRGFLAGS)
HB_RULE = $(HB) $? -n1 $(HB_FLAGS) -gc$(HB_GCMODE) $(HB_USER_PRGFLAGS)
# The rule to link an executable.
ifeq ($(LD_RULE),)

View File

@@ -1,5 +0,0 @@
#
# $Id: uhttpd.hbm 10546 2009-03-05 20:12:47Z vszakats $
#
-mt uhttpd.prg cgifunc.prg cookie.prg session.prg uhttpdc.c -DUSE_HB_INET

View File

@@ -2,4 +2,7 @@
# $Id$
#
-mt -gui uhttpd.prg cgifunc.prg cookie.prg session.prg uhttpdc.c socket.c -lhbct
# Use -DUSE_HB_INET if you want to turn on Harbour internet socket.
# It's always on on non-Windows systems.
-mt -gui uhttpd.prg cgifunc.prg cookie.prg session.prg uhttpdc.c socket.c

View File

@@ -96,21 +96,26 @@
#include "hbextern.ch" // need this to use with HRB
#ifdef GD_SUPPORT
// adding GD support
REQUEST GDIMAGE, GDIMAGECHAR, GDCHART
#define APP_GD_SUPPORT "_GD"
#stdout "Lib GD support enabled"
// adding GD support
REQUEST GDIMAGE, GDIMAGECHAR, GDCHART
#define APP_GD_SUPPORT "_GD"
#stdout "Lib GD support enabled"
#else
#define APP_GD_SUPPORT ""
#stdout "Lib GD support disabled"
#define APP_GD_SUPPORT ""
#stdout "Lib GD support disabled"
#endif
/* Force Harbour socket on non-Window systems */
#if ! defined( __PLATFORM__WINDOWS ) .AND. ! defined( USE_HB_INET )
#define USE_HB_INET
#endif
#ifdef USE_HB_INET
#define APP_INET_SUPPORT "_INET"
#stdout "Harbour socket"
#define APP_INET_SUPPORT "_INET"
#stdout "Harbour socket"
#else
#define APP_INET_SUPPORT ""
#stdout "Mindaugas socket"
#define APP_INET_SUPPORT ""
#stdout "Mindaugas socket"
#endif
#define APP_NAME "uhttpd"

View File

@@ -57,14 +57,12 @@
*
*/
/* #define HB_OS_WIN_USED */ /* Temporaly disabled Viktor could you check it */
#define HB_OS_WIN_USED
#include "hbapi.h"
#ifndef HB_OS_WIN
#if !defined( HB_OS_WIN )
#include <time.h>
#else
#include <windows.h>
#endif
#if defined( HB_OS_WIN )
@@ -133,6 +131,7 @@ HB_FUNC( WIN_SYSREFRESH )
{
hb_retl( TRUE );
}
#endif
HB_FUNC( HB_UTCOFFSET )
@@ -170,7 +169,7 @@ HB_FUNC( HB_UTCOFFSET )
struct tm tmTime;
time_t current;
memcpy( (void *) &tmTime, (void *) localtime( &current ), sizeof(tmTime) );
memcpy( ( void * ) &tmTime, ( void * ) localtime( &current ), sizeof( tmTime ) );
nLen = strftime( szRet, 6, "%z", &tmTime );
}
#endif
@@ -180,4 +179,3 @@ HB_FUNC( HB_UTCOFFSET )
hb_retclen_buffer( szRet, nLen );
}

View File

@@ -1,7 +0,0 @@
#
# $Id: uhttpd.hbm 10546 2009-03-05 20:12:47Z vszakats $
#
@uhttpd-inet.hbm
-DGD_SUPPORT -lhbgd -lbgd -lhbct

View File

@@ -51,6 +51,8 @@ call make_gnu.bat
:MK_PKG
if errorlevel 1 goto MK_ERROR
rem ; Post build cleanup
if exist "%HB_BIN_INSTALL%\*.tds" del "%HB_BIN_INSTALL%\*.tds"
@@ -67,6 +69,8 @@ cd %HB_INSTALL_BASE%
zip -X -r -o %~dp0%HB_PKGNAME%.zip *
popd
:MK_ERROR
rem ; Cleanup
if "%1" == "--deltemp" rmdir /q /s %HB_INSTALL_BASE%

View File

@@ -80,10 +80,6 @@
#include <errno.h>
#endif
/* NOTE: Not really belongs here, but until we can't find a better place
it will do it. [vszakats] */
extern void hb_fhnd_ForceLink( void );
/*
* Function that adds zero or more paths to a list of pathnames to search
*/

View File

@@ -200,7 +200,7 @@ static HB_LANG s_lang =
}
};
HB_LANG_ANNOUNCE( TPL );
HB_LANG_ANNOUNCE( TPL )
HB_CALL_ON_STARTUP_BEGIN( hb_lang_Init_TPL )
hb_langRegister( &s_lang );

View File

@@ -29,6 +29,9 @@ ifeq ($(HB_ARCHITECTURE),win)
ifeq ($(HB_COMPILER),bcc)
DIRS += maindllh
endif
ifeq ($(HB_COMPILER),icc)
DIRS += maindllh
endif
ifeq ($(HB_COMPILER),msvc)
DIRS += maindllh
endif

View File

@@ -105,7 +105,11 @@
to use -p option, .ppo files will be generated in temp dir. */
/* TODO: Sync default C/linker switches with the ones in Harbour GNU make system. */
/* TODO: Support for more compilers/platforms. */
/* TODO: Cross compilation support. */
/* TODO: Cross compilation support.
-D__PLATFORM__WINCE ?
-D__PLATFORM__WINDOWS
-undef:__PLATFORM__UNIX
-undef:__PLATFORM__LINUX */
/* TODO: Add support for library creation. */
/* TODO: Cleanup on variable names and compiler configuration. */
/* TODO: Optimizations (speed/memory). */
@@ -713,18 +717,8 @@ FUNCTION Main( ... )
cParamL == "-hblnk" .OR. ;
cParamL == "-info"
CASE Left( cParamL, 2 ) == "-gh" .OR. ;
( ! lNIX .AND. Left( cParamL, 2 ) == "/gh" )
lStopAfterHarbour := .T.
/* Simply ignore. They were already processed in the first pass. */
CASE ! lNIX .AND. Left( cParamL, 2 ) == "/o" .AND. ! lStopAfterHarbour
/* Swallow this switch. We don't pass it to Harbour, as it may badly
interact with hbmk. */
CASE cParamL == "-gui" .OR. ;
cParamL == "-mwindows" ; s_lGUI := .T. /* Compatibility */
CASE cParamL == "-std" .OR. ;
@@ -772,7 +766,7 @@ FUNCTION Main( ... )
CASE Left( cParamL, 3 ) == "-gt"
cParam := SubStr( cParam, 2 )
cParam := ArchCompFilter( SubStr( cParam, 2 ) )
IF s_cGT == NIL
IF ! SetupForGT( cParam, @s_cGT, @s_lGUI )
OutErr( "hbmk: Warning: Invalid -gt value ignored: " + cParam + hb_osNewLine() )
@@ -786,6 +780,11 @@ FUNCTION Main( ... )
ENDIF
ENDIF
CASE ! lNIX .AND. Left( cParamL, 2 ) == "/o" .AND. ! lStopAfterHarbour
/* Swallow this switch. We don't pass it to Harbour, as it may badly
interact with hbmk. */
CASE Left( cParam, 2 ) == "-o" .AND. ! lStopAfterHarbour
tmp := PathSepToSelf( SubStr( cParam, 3 ) )
@@ -822,7 +821,12 @@ FUNCTION Main( ... )
cParam := ArchCompFilter( SubStr( cParam, Len( "-prgflag:" ) + 1 ) )
IF Left( cParam, 1 ) $ cOptPrefix
AAdd( s_aOPTPRG , PathSepToTarget( cParam, 2 ) )
IF SubStr( cParamL, 2 ) == "gh"
lStopAfterHarbour := .T.
ENDIF
IF !( SubStr( cParamL, 2, 1 ) == "o" )
AAdd( s_aOPTPRG , PathSepToTarget( cParam, 2 ) )
ENDIF
ENDIF
CASE Left( cParamL, Len( "-cflag:" ) ) == "-cflag:"
@@ -851,6 +855,9 @@ FUNCTION Main( ... )
AAddNotEmpty( s_aOPTC , ArchCompFilter( PathSepToTarget( cParam, 2 ) ) )
ENDIF
OTHERWISE
IF SubStr( cParamL, 2 ) == "gh"
lStopAfterHarbour := .T.
ENDIF
AAddNotEmpty( s_aOPTPRG , PathSepToTarget( cParam, 2 ) )
ENDCASE
@@ -1088,9 +1095,6 @@ FUNCTION Main( ... )
cOpt_CompC += " {LL}"
aLIB_BASE2 := ArrayAJoin( { aLIB_BASE2, { "hbcommon", "hbrtl" }, s_aLIBVM } )
ENDIF
IF s_lGUI
cOpt_CompC += " -Wl,-mwindows"
ENDIF
IF s_lMAP
cOpt_CompC += " -Wl,-Map {OM}"
ENDIF
@@ -1514,7 +1518,7 @@ FUNCTION Main( ... )
ENDIF
s_aLIBSYS := ArrayJoin( s_aLIBSYS, { "user32", "wsock32", "advapi32", "gdi32" } )
DO CASE
CASE t_cCOMP == "msvc"
CASE t_cCOMP $ "msvc|icc"
s_aLIBSHARED := { iif( s_lMT, "harbourmt-" + cDL_Version_Alter + "-vc",;
"harbour-" + cDL_Version_Alter + "-vc" ),;
"hbmainstd",;
@@ -1529,11 +1533,6 @@ FUNCTION Main( ... )
"harbour-" + cDL_Version_Alter + "-vc-ia64" ),;
"hbmainstd",;
"hbmainwin" }
CASE t_cCOMP == "icc"
s_aLIBSHARED := { iif( s_lMT, "harbourmt-" + cDL_Version_Alter + "-icc",;
"harbour-" + cDL_Version_Alter + "-icc" ),;
"hbmainstd",;
"hbmainwin" }
ENDCASE
IF !( t_cCOMP == "icc" )
@@ -1895,10 +1894,10 @@ FUNCTION Main( ... )
PauseForKey()
ELSEIF s_lRUN
s_cPROGNAME := FN_ExtSet( s_cPROGNAME, cBinExt )
#if !( defined( __PLATFORM__WINDOWS ) .OR. defined( __PLATFORM__DOS ) .OR. defined( __PLATFORM__OS2 ) )
IF Empty( FN_DirGet( s_cPROGNAME ) )
s_cPROGNAME := "." + hb_osPathSeparator() + s_cPROGNAME
ENDIF
#if defined( __PLATFORM__UNIX )
IF Empty( FN_DirGet( s_cPROGNAME ) )
s_cPROGNAME := "." + hb_osPathSeparator() + s_cPROGNAME
ENDIF
#endif
IF s_lTRACE
OutStd( "hbmk: Running executable:" + hb_osNewLine() + PathSepToTarget( s_cPROGNAME ) + hb_osNewLine() )
@@ -2263,16 +2262,14 @@ STATIC PROCEDURE HBP_ProcessAll( lConfigOnly,;
LOCAL aCFGDirs
#if defined( __PLATFORM__WINDOWS ) .OR. ;
defined( __PLATFORM__DOS ) .OR. ;
defined( __PLATFORM__OS2 )
aCFGDirs := { hb_DirBase() }
#else
#if defined( __PLATFORM__UNIX )
aCFGDirs := { GetEnv( "HOME" ) + "/.harbour/",;
"/etc/harbour",;
DirAddPathSep( hb_DirBase() ) + "../etc/harbour",;
DirAddPathSep( hb_DirBase() ) + "../etc",;
hb_DirBase() }
#else
aCFGDirs := { hb_DirBase() }
#endif
FOR EACH cDir IN aCFGDirs