2010-06-04 04:20 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)

* utils/hbmk2/hbmk2.prg
    + Added basic support to recognize headers inside Frameworks
      on darwin systems.
    + Added basic support to recognize Objective C (.m) input files.
    % Optimized to only deal with header exclusion of known
      headers if they are specified as "system directories"
      (specified as #include <...>)
    ! Minor cleanup when adding include dirs after header detection.

  * contrib/hbqt/hbqt_common.hbm
    % Cleaned QT autodetection on darwin systems after adding
      basic support for Frameworks to hbmk2.

  * contrib/hbqt/hbqtnetwork.hbp
  * contrib/hbqt/hbqtgui.hbp
  * contrib/hbqt/gtqtc/gtqtc.hbp
    % Deleted now unnecessary hacks for darwin.

  * contrib/hbqt/Makefile
  * contrib/hbqt/detect.mk
  * contrib/hbqt/hbqts/Makefile
  * contrib/hbqt/qtgui/Makefile
  * contrib/hbqt/qtgui/qtguis/Makefile
  * contrib/hbqt/qtnetwork/qtnetworks/Makefile
  * contrib/hbqt/qtnetwork/Makefile
  * contrib/hbqt/gtqtc/Makefile
  * contrib/hbqt/gtqtc/gtqtcs/Makefile
    % Deleted extra hacks for darwin regarding header path setup.

  * INSTALL
    - Deleted dead link.
This commit is contained in:
Viktor Szakats
2010-06-04 02:21:35 +00:00
parent c3e2d40df5
commit 0d6269e168
16 changed files with 160 additions and 140 deletions

View File

@@ -17,6 +17,39 @@
past entries belonging to author(s): Viktor Szakats.
*/
2010-06-04 04:20 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* utils/hbmk2/hbmk2.prg
+ Added basic support to recognize headers inside Frameworks
on darwin systems.
+ Added basic support to recognize Objective C (.m) input files.
% Optimized to only deal with header exclusion of known
headers if they are specified as "system directories"
(specified as #include <...>)
! Minor cleanup when adding include dirs after header detection.
* contrib/hbqt/hbqt_common.hbm
% Cleaned QT autodetection on darwin systems after adding
basic support for Frameworks to hbmk2.
* contrib/hbqt/hbqtnetwork.hbp
* contrib/hbqt/hbqtgui.hbp
* contrib/hbqt/gtqtc/gtqtc.hbp
% Deleted now unnecessary hacks for darwin.
* contrib/hbqt/Makefile
* contrib/hbqt/detect.mk
* contrib/hbqt/hbqts/Makefile
* contrib/hbqt/qtgui/Makefile
* contrib/hbqt/qtgui/qtguis/Makefile
* contrib/hbqt/qtnetwork/qtnetworks/Makefile
* contrib/hbqt/qtnetwork/Makefile
* contrib/hbqt/gtqtc/Makefile
* contrib/hbqt/gtqtc/gtqtcs/Makefile
% Deleted extra hacks for darwin regarding header path setup.
* INSTALL
- Deleted dead link.
2010-06-03 18:22 UTC-0800 Pritpal Bedi (pritpal@vouchcac.com)
* contrib/hbqt/hbqt_hbqplaintextedit.cpp
! Minor.
@@ -31,15 +64,15 @@
* contrib/hbide/idefindreplace.prg
* contrib/hbide/idemisc.prg
* contrib/hbide/ideprojmanager.prg
+ Implemeted: to compile a source, source is not saved
+ Implemeted: to compile a source, source is not saved
if in modified state. Action was already defined but inactive.
+ Implemented: to build a source, current defined environment is
+ Implemented: to build a source, current defined environment is
used and build process stays in the folder where source resides.
Also source is not saved. hbIDE attempts to executable it also.
Action defines a new icon on the top-toolbar and also an entry
Action defines a new icon on the top-toolbar and also an entry
into the "Build" menu.
% Few more fixes in selections and find processes.
NOTE: new setup is also uploaded on my site.

View File

@@ -1312,7 +1312,6 @@ HARBOUR
http://www.mingw.org/, http://sourceforge.net/projects/mingw/ (official, MSYS home)
MinGW x64 [win, *nix, free, open-source]
http://mingw-w64.sourceforge.net/, http://sourceforge.net/projects/mingw-w64/
http://www.cadforte.com/
MinGW CEGCC [win, *nix, free, open-source]
http://cegcc.sourceforge.net/
Cygwin [win, free, open-source]

View File

@@ -11,8 +11,6 @@ LIBNAME := hbqt
PRG_HEADERS := \
hbqt.ch \
_QT_HEADERS = qtgui qtnetwork
include $(TOP)$(ROOT)contrib/hbqt/detect.mk
ifneq ($(HB_HAS_QT),)

View File

@@ -34,13 +34,7 @@ endif
ifneq ($(HB_HAS_QT),)
ifeq ($(_QT_DARWIN),yes)
HB_CFLAGS += -I/Library/Frameworks/QtCore.framework/Headers
ifneq ($(filter qtgui,$(_QT_HEADERS)),)
HB_CFLAGS += -I/Library/Frameworks/QtGui.framework/Headers
endif
ifneq ($(filter qtnetwork,$(_QT_HEADERS)),)
HB_CFLAGS += -I/Library/Frameworks/QtNetwork.framework/Headers
endif
HB_CFLAGS += -I/Library/Frameworks
else
HB_CFLAGS += $(foreach d,$(HB_HAS_QT),-I$(d))
endif

View File

@@ -17,8 +17,6 @@ CPP_SOURCES := \
PRG_HEADERS := \
hbgtqtc.ch
_QT_HEADERS = qtgui
include $(TOP)$(ROOT)contrib/hbqt/detect.mk
ifneq ($(HB_HAS_QT),)

View File

@@ -10,6 +10,3 @@
gtqtc.cpp
-pi=gtqtc.h
{darwin&!HB_WITH_QT}-cflag=-I/Library/Frameworks/QtGui.framework/Headers

View File

@@ -21,8 +21,6 @@ CPP_SOURCES := \
PRG_HEADERS := \
hbgtqtc.ch
_QT_HEADERS = qtgui
include $(TOP)$(ROOT)contrib/hbqt/detect.mk
ifneq ($(HB_HAS_QT),)

View File

@@ -18,7 +18,5 @@
{!darwin}-depincpath=qt:/usr/include/qt4
{!darwin}-depincpath=qt:/usr/lib/qt4/include
{!darwin}-depincpath=qt:/usr/include
{!darwin}-depincpath=qt:/Developer/qt/include
{darwin}-depincpath=qt:/Library/Frameworks/QtCore.framework/Headers
{darwin}-cflag=-I/Library/Frameworks/QtCore.framework/Headers
{darwin}-depincpath=qt:/Developer/qt/include
{darwin}-depincpath=qt:/Library/Frameworks

View File

@@ -11,5 +11,3 @@ qtgui/*.cpp
qtgui/*.prg
-pi=qtgui/*.h
{darwin&!HB_WITH_QT}-cflag=-I/Library/Frameworks/QtGui.framework/Headers

View File

@@ -11,5 +11,3 @@ qtnetwork/*.cpp
qtnetwork/*.prg
-pi=qtnetwork/*.h
{darwin&!HB_WITH_QT}-cflag=-I/Library/Frameworks/QtNetwork.framework/Headers

View File

@@ -12,8 +12,6 @@ vpath %.prg ../
LIBNAME := hbqts
_QT_HEADERS = qtgui qtnetwork
include $(TOP)$(ROOT)contrib/hbqt/detect.mk
ifneq ($(HB_HAS_QT),)

View File

@@ -8,8 +8,6 @@ include $(TOP)$(ROOT)config/global.mk
LIBNAME := hbqtgui
_QT_HEADERS = qtgui
include $(TOP)$(ROOT)contrib/hbqt/detect.mk
ifneq ($(HB_HAS_QT),)

View File

@@ -12,8 +12,6 @@ vpath %.prg ../
LIBNAME := hbqtguis
_QT_HEADERS = qtgui
include $(TOP)$(ROOT)contrib/hbqt/detect.mk
ifneq ($(HB_HAS_QT),)

View File

@@ -8,8 +8,6 @@ include $(TOP)$(ROOT)config/global.mk
LIBNAME := hbqtnetwork
_QT_HEADERS = qtnetwork
include $(TOP)$(ROOT)contrib/hbqt/detect.mk
ifneq ($(HB_HAS_QT),)

View File

@@ -12,8 +12,6 @@ vpath %.prg ../
LIBNAME := hbqtnetworks
_QT_HEADERS = qtnetwork
include $(TOP)$(ROOT)contrib/hbqt/detect.mk
ifneq ($(HB_HAS_QT),)

View File

@@ -2281,6 +2281,7 @@ FUNCTION hbmk2( aArgs, /* @ */ lPause )
FN_ExtGet( cParamL ) == ".cc" .OR. ;
FN_ExtGet( cParamL ) == ".cxx" .OR. ;
FN_ExtGet( cParamL ) == ".cx" .OR. ;
FN_ExtGet( cParamL ) == ".m" .OR. ;
_EXT_IS_UPPER( cParam, ".C" )
FOR EACH cParam IN FN_Expand( PathProc( cParam, aParam[ _PAR_cFileName ] ), Empty( aParam[ _PAR_cFileName ] ) )
@@ -5544,99 +5545,6 @@ STATIC FUNCTION FindNewerHeaders( hbmk, cFileName, cParentDir, lSystemHeader, tT
STATIC s_hRegexInclude := NIL
STATIC s_hExclStd := NIL
IF s_hExclStd == NIL
s_hExclStd := {;
"assert.h" => NIL ,; /* Standard C */
"ctype.h" => NIL ,;
"errno.h" => NIL ,;
"float.h" => NIL ,;
"limits.h" => NIL ,;
"locale.h" => NIL ,;
"math.h" => NIL ,;
"setjmp.h" => NIL ,;
"signal.h" => NIL ,;
"stdarg.h" => NIL ,;
"stddef.h" => NIL ,;
"stdio.h" => NIL ,;
"stdlib.h" => NIL ,;
"string.h" => NIL ,;
"time.h" => NIL ,;
"iso646.h" => NIL ,; /* ISO C NA1 */
"wchar.h" => NIL ,;
"wctype.h" => NIL ,;
"complex.h" => NIL ,; /* ISO C C99 */
"fenv.h" => NIL ,;
"inttypes.h" => NIL ,;
"stdbool.h" => NIL ,;
"stdint.h" => NIL ,;
"tgmath.h" => NIL ,;
"unistd.h" => NIL ,; /* Standard C POSIX */
"aio.h" => NIL ,;
"arpa/inet.h" => NIL ,;
"cpio.h" => NIL ,;
"dirent.h" => NIL ,;
"dlfcn.h" => NIL ,;
"fcntl.h" => NIL ,;
"fmtmsg.h" => NIL ,;
"fnmatch.h" => NIL ,;
"ftw.h" => NIL ,;
"glob.h" => NIL ,;
"grp.h" => NIL ,;
"iconv.h" => NIL ,;
"langinfo.h" => NIL ,;
"libgen.h" => NIL ,;
"monetary.h" => NIL ,;
"mqueue.h" => NIL ,;
"ndbm.h" => NIL ,;
"net/if.h" => NIL ,;
"netdb.h" => NIL ,;
"netinet/in.h" => NIL ,;
"netinet/tcp.h" => NIL ,;
"nl_types.h" => NIL ,;
"poll.h" => NIL ,;
"pthread.h" => NIL ,;
"pwd.h" => NIL ,;
"regex.h" => NIL ,;
"sched.h" => NIL ,;
"search.h" => NIL ,;
"semaphore.h" => NIL ,;
"spawn.h" => NIL ,;
"strings.h" => NIL ,;
"stropts.h" => NIL ,;
"sys/ipc.h" => NIL ,;
"sys/mman.h" => NIL ,;
"sys/msg.h" => NIL ,;
"sys/resource.h" => NIL ,;
"sys/select.h" => NIL ,;
"sys/sem.h" => NIL ,;
"sys/shm.h" => NIL ,;
"sys/socket.h" => NIL ,;
"sys/stat.h" => NIL ,;
"sys/statvfs.h" => NIL ,;
"sys/time.h" => NIL ,;
"sys/times.h" => NIL ,;
"sys/types.h" => NIL ,;
"sys/uio.h" => NIL ,;
"sys/un.h" => NIL ,;
"sys/utsname.h" => NIL ,;
"sys/wait.h" => NIL ,;
"syslog.h" => NIL ,;
"tar.h" => NIL ,;
"termios.h" => NIL ,;
"trace.h" => NIL ,;
"ulimit.h" => NIL ,;
"unistd.h" => NIL ,;
"utime.h" => NIL ,;
"utmpx.h" => NIL ,;
"wordexp.h" => NIL ,;
"windows.h" => NIL ,; /* OS (win) */
"winspool.h" => NIL ,;
"shellapi.h" => NIL ,;
"ole2.h" => NIL ,;
"dos.h" => NIL ,; /* OS (dos) */
"os2.h" => NIL } /* OS (os2) */
ENDIF
DEFAULT nNestingLevel TO 1
DEFAULT cParentDir TO FN_DirGet( cFileName )
@@ -5654,9 +5562,105 @@ STATIC FUNCTION FindNewerHeaders( hbmk, cFileName, cParentDir, lSystemHeader, tT
RETURN .F.
ENDIF
/* Don't spend time on known headers */
IF StrTran( Lower( cFileName ), "\", "/" ) $ s_hExclStd
RETURN .F.
/* Don't spend time on known system headers */
IF lSystemHeader
IF s_hExclStd == NIL
s_hExclStd := {;
"assert.h" => NIL ,; /* Standard C */
"ctype.h" => NIL ,;
"errno.h" => NIL ,;
"float.h" => NIL ,;
"limits.h" => NIL ,;
"locale.h" => NIL ,;
"math.h" => NIL ,;
"setjmp.h" => NIL ,;
"signal.h" => NIL ,;
"stdarg.h" => NIL ,;
"stddef.h" => NIL ,;
"stdio.h" => NIL ,;
"stdlib.h" => NIL ,;
"string.h" => NIL ,;
"time.h" => NIL ,;
"iso646.h" => NIL ,; /* ISO C NA1 */
"wchar.h" => NIL ,;
"wctype.h" => NIL ,;
"complex.h" => NIL ,; /* ISO C C99 */
"fenv.h" => NIL ,;
"inttypes.h" => NIL ,;
"stdbool.h" => NIL ,;
"stdint.h" => NIL ,;
"tgmath.h" => NIL ,;
"unistd.h" => NIL ,; /* Standard C POSIX */
"aio.h" => NIL ,;
"arpa/inet.h" => NIL ,;
"cpio.h" => NIL ,;
"dirent.h" => NIL ,;
"dlfcn.h" => NIL ,;
"fcntl.h" => NIL ,;
"fmtmsg.h" => NIL ,;
"fnmatch.h" => NIL ,;
"ftw.h" => NIL ,;
"glob.h" => NIL ,;
"grp.h" => NIL ,;
"iconv.h" => NIL ,;
"langinfo.h" => NIL ,;
"libgen.h" => NIL ,;
"monetary.h" => NIL ,;
"mqueue.h" => NIL ,;
"ndbm.h" => NIL ,;
"net/if.h" => NIL ,;
"netdb.h" => NIL ,;
"netinet/in.h" => NIL ,;
"netinet/tcp.h" => NIL ,;
"nl_types.h" => NIL ,;
"poll.h" => NIL ,;
"pthread.h" => NIL ,;
"pwd.h" => NIL ,;
"regex.h" => NIL ,;
"sched.h" => NIL ,;
"search.h" => NIL ,;
"semaphore.h" => NIL ,;
"spawn.h" => NIL ,;
"strings.h" => NIL ,;
"stropts.h" => NIL ,;
"sys/ipc.h" => NIL ,;
"sys/mman.h" => NIL ,;
"sys/msg.h" => NIL ,;
"sys/resource.h" => NIL ,;
"sys/select.h" => NIL ,;
"sys/sem.h" => NIL ,;
"sys/shm.h" => NIL ,;
"sys/socket.h" => NIL ,;
"sys/stat.h" => NIL ,;
"sys/statvfs.h" => NIL ,;
"sys/time.h" => NIL ,;
"sys/times.h" => NIL ,;
"sys/types.h" => NIL ,;
"sys/uio.h" => NIL ,;
"sys/un.h" => NIL ,;
"sys/utsname.h" => NIL ,;
"sys/wait.h" => NIL ,;
"syslog.h" => NIL ,;
"tar.h" => NIL ,;
"termios.h" => NIL ,;
"trace.h" => NIL ,;
"ulimit.h" => NIL ,;
"unistd.h" => NIL ,;
"utime.h" => NIL ,;
"utmpx.h" => NIL ,;
"wordexp.h" => NIL ,;
"windows.h" => NIL ,; /* OS (win) */
"winspool.h" => NIL ,;
"shellapi.h" => NIL ,;
"ole2.h" => NIL ,;
"dos.h" => NIL ,; /* OS (dos) */
"os2.h" => NIL } /* OS (os2) */
ENDIF
IF StrTran( Lower( cFileName ), "\", "/" ) $ s_hExclStd
RETURN .F.
ENDIF
ENDIF
IF nNestingLevel > 1
@@ -5817,6 +5821,7 @@ STATIC FUNCTION FindNewerHeaders( hbmk, cFileName, cParentDir, lSystemHeader, tT
http://en.wikipedia.org/wiki/PCRE
http://www.pcre.org/pcre.txt */
/* TODO: Add support for #import directive of Objective C */
DEFAULT s_hRegexInclude TO hb_regexComp( '^[ \t]*#[ \t]*include[ \t]*(\".+?\"|<.+?>)', .F. /* lCaseSensitive */, .T. /* lNewLine */ )
aMatch := hb_regexAll( s_hRegexInclude, cFile, NIL /* lCaseSensitive */, NIL /* lNewLine */, NIL, NIL /* nGetMatch */, .T. /* lOnlyMatch */ )
@@ -6219,17 +6224,15 @@ STATIC FUNCTION FindHeader( hbmk, cFileName, cParentDir, lIncTry, lSystemHeader
FOR EACH aINCPATH IN { dep[ _HBMKDEP_aINCPATH ],;
dep[ _HBMKDEP_aINCPATHLOCAL ] }
FOR EACH cDir IN aINCPATH
tmp := DirAddPathSep( PathSepToSelf( cDir ) ) + PathSepToSelf( cFileName )
IF hb_FileExists( tmp )
tmp := HeaderExists( cDir, cFileName )
IF tmp != NIL
dep[ _HBMKDEP_cFound ] := DirDelPathSep( PathSepToSelf( cDir ) )
dep[ _HBMKDEP_lFound ] := .T.
dep[ _HBMKDEP_lFoundLOCAL ] := ( aINCPATH:__enumIndex() == 2 )
IF hbmk[ _HBMK_lDEBUGDEPD ]
hbmk_OutStd( hbmk, hb_StrFormat( "debugdepd: REQ %1$s: found by %2$s header at %3$s %4$s", dep[ _HBMKDEP_cName ], PathSepToSelf( cFileName ), dep[ _HBMKDEP_cFound ], iif( dep[ _HBMKDEP_lFoundLOCAL ], "(local)", "" ) ) )
ENDIF
IF AScan( hbmk[ _HBMK_aINCPATH ], { |tmp| tmp == cDir } ) == 0
AAdd( hbmk[ _HBMK_aINCPATH ], DirDelPathSep( PathSepToSelf( cDir ) ) )
ENDIF
AAddNew( hbmk[ _HBMK_aINCPATH ], PathSepToTarget( hbmk, DirDelPathSep( PathSepToSelf( cDir ) ) ) )
AAdd( hbmk[ _HBMK_aOPTC ], "-D" + _HBMK_HAS_PREF + StrToDefine( dep[ _HBMKDEP_cName ] ) )
FOR EACH cFileName IN hbmk[ _HBMK_hDEP ][ dep[ _HBMKDEP_cName ] ][ _HBMKDEP_aKeyHeader ]
hb_HDel( hbmk[ _HBMK_hDEPBYHEADER ], cFileName )
@@ -6244,6 +6247,20 @@ STATIC FUNCTION FindHeader( hbmk, cFileName, cParentDir, lIncTry, lSystemHeader
RETURN NIL
STATIC FUNCTION HeaderExists( cDir, cFileName )
LOCAL tmp
#if defined( __PLATFORM__DARWIN )
LOCAL nPos
IF ( nPos := At( "/", cFileName ) ) > 0
tmp := DirAddPathSep( PathSepToSelf( cDir ) ) + Left( cFileName, nPos - 1 ) + ".framework" + hb_osPathSeparator() + "Headers" + hb_osPathSeparator() + SubStr( cFileName, nPos + 1 )
IF hb_FileExists( tmp )
RETURN tmp
ENDIF
ENDIF
#endif
tmp := DirAddPathSep( PathSepToSelf( cDir ) ) + PathSepToSelf( cFileName )
RETURN iif( hb_FileExists( tmp ), tmp, NIL )
/* Replicating logic used by compilers. */
STATIC FUNCTION FindLib( hbmk, cLib, aLIBPATH, cLibPrefix, cLibExt )
@@ -7398,6 +7415,7 @@ STATIC FUNCTION HBC_ProcessOne( hbmk, cFileName, nNestingLevel )
FN_ExtGet( cItemL ) == ".cc" .OR. ;
FN_ExtGet( cItemL ) == ".cxx" .OR. ;
FN_ExtGet( cItemL ) == ".cx" .OR. ;
FN_ExtGet( cItemL ) == ".m" .OR. ;
_EXT_IS_UPPER( cItem, ".C" )
AAddNew( hbmk[ _HBMK_aCPP ], PathSepToTarget( hbmk, cItem ) )
CASE FN_ExtGet( cItemL ) == ".c"
@@ -8076,6 +8094,7 @@ STATIC FUNCTION getFirstFunc( hbmk, cFile )
Lower( cExt ) == ".cc" .OR. ;
Lower( cExt ) == ".cxx" .OR. ;
Lower( cExt ) == ".cx" .OR. ;
Lower( cExt ) == ".m" .OR. ;
_EXT_IS_UPPER( cExt, ".C" )
/* do nothing */
ELSEIF ! Empty( cExecNM := FindInPath( hbmk[ _HBMK_cCCPREFIX ] + "nm" ) )