diff --git a/harbour/ChangeLog b/harbour/ChangeLog index 135d369390..e6760b4eac 100644 --- a/harbour/ChangeLog +++ b/harbour/ChangeLog @@ -17,6 +17,30 @@ past entries belonging to author(s): Viktor Szakats. */ +2009-11-30 22:19 UTC+0100 Viktor Szakats (harbour.01 syenar.hu) + * INSTALL + + Documented HB_WITH_CAIRO setting. + + * bin/hb-mkimp.bat + + Added HB_BUILD_IMPLIB support for cairo lib. + I didn't test them. + + * contrib/hbcairo/hbcairo.hbc + * Changed cairo lib name from 'libcairo-2.0' to 'cairo' + This is what HB_BUILD_IMPLIB will generate. + ; TODO: It's the "fun" part of any component adaptation, that + each build and platform use a different lib naming scheme. + We should fix this one by one for all platforms. + ; TODO: Make build tests on each platform/compiler. + + * contrib/hbcairo/Makefile + + Added cairo component detection. + - Deleted installation of .h header. It doesn't seem to be + one for the public. + + * config/global.mk + % "De-xmastree"-d one if/else structure. + 2009-11-30 21:51 UTC+0200 Mindaugas Kavaliauskas (dbtopas/at/dbtopas.lt) * harbour/contrib/hbcairo/core.c * harbour/contrib/hbcairo/test/fancytxt.prg @@ -35,36 +59,36 @@ + harbour/contrib/hbcairo/hbcairo.ch + harbour/contrib/hbcairo/hbcairo.h + Added Cairo graphics library - ; It's a 2D graphic library that makes drawing commands platform - independent. Supported backends are: memory image, PDF, PNG, PS, - Win32 DC, SVG, Quartz, Xlib, started Qt development. I.e., you + ; It's a 2D graphic library that makes drawing commands platform + independent. Supported backends are: memory image, PDF, PNG, PS, + Win32 DC, SVG, Quartz, Xlib, started Qt development. I.e., you can forget if you are drawing on screen, printer, PDF, or image - file from know. GTK and FireFox are only a sample of well-known + file from know. GTK and FireFox are only a sample of well-known library/application that uses Cairo as rendering engine. ; Webpage: http://cairoprahics.org - ; Binaries, development files and related packages (ex., libpng) for + ; Binaries, development files and related packages (ex., libpng) for Windows can be found at http://www.gtk.org/download-windows.html - ; I've used multiple .c files so store Harbour level functions. + ; I've used multiple .c files so store Harbour level functions. Functions are split into source files using help sections of original Cairo docs (http://cairographics.org/manual/) - ; You'll find the full documentation on Cairo webpage. Only a few - functions are spesific to Harbour and could not be found in - original documentaion. It accesses C language structures of Cairo + ; You'll find the full documentation on Cairo webpage. Only a few + functions are spesific to Harbour and could not be found in + original documentaion. It accesses C language structures of Cairo library. These functions are: cairo_path_iterator_create( hPath ) --> hIterator cairo_path_iterator_next( hIterator ) --> nType | NIL cairo_path_iterator_get_points( hIterator ) --> aPoints cairo_path_iterator_set_points( hIterator, aPoints ) --> lOk - ; Internal Cairo pointers/handlers are implemented using collectible + ; Internal Cairo pointers/handlers are implemented using collectible pointers. It is destroyed after is not visible to probram any more. - Though original functions cairo_*_destroy() are also implemeted for + Though original functions cairo_*_destroy() are also implemeted for those, who wants to make it code clean. ; TOCHECK: GC pointers implementation, HB_USE_ITEM define. - ; TODO: I've implemted not all functions of Cairo. Actually, the + ; TODO: I've implemted not all functions of Cairo. Actually, the minority, but it's enough to do some fancy things. - ; TODO: Makefile support. I've completely failed to make a working - make system. I can compile library by copying Cairo *.h files into - source folder and making .dll import library manualy. I guess + ; TODO: Makefile support. I've completely failed to make a working + make system. I can compile library by copying Cairo *.h files into + source folder and making .dll import library manualy. I guess Viktor can solve the issues in 3 minutes. + harbour/contrib/hbcairo/tests @@ -74,12 +98,12 @@ + harbour/contrib/hbcairo/tests/hellow.prg + harbour/contrib/hbcairo/tests/table.prg + added a few samples to generate .pdf/.png images - ; NOTE: one of the things that make me to spend 3 days for doing this - commit is never ending emails about .pdf library problems on - developers mailing list. I'm using Cairo for a few years, I've + ; NOTE: one of the things that make me to spend 3 days for doing this + commit is never ending emails about .pdf library problems on + developers mailing list. I'm using Cairo for a few years, I've mentioned it a few time on mailing list, but people does not look - at it before you do not show the final result. I hope this library - will be helpful for many, and test code will show both basic + at it before you do not show the final result. I hope this library + will be helpful for many, and test code will show both basic (every day required) and fancy things you can do with Cairo. 2009-11-30 20:29 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl) @@ -104,10 +128,10 @@ * contrib/hbxbp/xbptabpage.prg + Added QPlainTextEdit class. - This class is now used in HBIDE instead of QTextEdit as it is + This class is now used in HBIDE instead of QTextEdit as it is highly optimized for large text documents and is considerably faster. - + Implemented tooltips for XbpListBox() class while mouse is hovered + + Implemented tooltips for XbpListBox() class while mouse is hovered upon an item. The expression is manifest i HBIDE's exactly as is with xMate. diff --git a/harbour/INSTALL b/harbour/INSTALL index 02693980c0..502d5b49a2 100644 --- a/harbour/INSTALL +++ b/harbour/INSTALL @@ -296,6 +296,7 @@ HARBOUR HB_WITH_ADS=C:\ads\acesdk HB_WITH_ALLEGRO=C:\allegro\include HB_WITH_BLAT=C:\blat\full\source + HB_WITH_CAIRO=C:\cairo\include\cairo HB_WITH_CURL=C:\curl\include HB_WITH_CURSES= (on *nix systems and DJGPP, where it's autodetected) HB_WITH_FIREBIRD=C:\Firebird\include @@ -820,6 +821,7 @@ HARBOUR set HB_WITH_ALLEGRO=C:\allegro\include set HB_WITH_APOLLO=C:\Apollo\include set HB_WITH_BLAT=C:\blat\full\source + set HB_WITH_CAIRO=C:\cairo\include\cairo set HB_WITH_CURL=C:\curl\include set HB_WITH_FIREBIRD=C:\Firebird\include set HB_WITH_FREEIMAGE=C:\FreeImage\Dist diff --git a/harbour/bin/hb-mkimp.bat b/harbour/bin/hb-mkimp.bat index 56226a653c..1b46ab7ac4 100644 --- a/harbour/bin/hb-mkimp.bat +++ b/harbour/bin/hb-mkimp.bat @@ -33,6 +33,7 @@ if not "%HB_LIB_INSTALL%" == "" ( if exist "%HB_WITH_ALLEGRO%\..\bin\alleg42.dll" implib -a "%HB_LIB_INSTALL%\alleg.lib" "%HB_WITH_ALLEGRO%\..\bin\alleg42.dll" if exist "%HB_WITH_APOLLO%\..\sde61.dll" implib "%HB_LIB_INSTALL%\sde61.lib" "%HB_WITH_APOLLO%\..\sde61.dll" if exist "%HB_WITH_BLAT%\..\blat.dll" implib -a "%HB_LIB_INSTALL%\blat.lib" "%HB_WITH_BLAT%\..\blat.dll" + if exist "%HB_WITH_CAIRO%\..\..\bin\libcairo-2.dll" implib -a "%HB_LIB_INSTALL%\cairo.lib" "%HB_WITH_CAIRO%\..\..\bin\libcairo-2.dll" if exist "%HB_WITH_CURL%\..\libcurl.dll" implib -a "%HB_LIB_INSTALL%\libcurl.lib" "%HB_WITH_CURL%\..\libcurl.dll" if exist "%HB_WITH_CURL%\..\bin\libcurl.dll" implib -a "%HB_LIB_INSTALL%\libcurl.lib" "%HB_WITH_CURL%\..\bin\libcurl.dll" if exist "%HB_WITH_FIREBIRD%\..\lib\fbclient_bor.lib" copy /b /y "%HB_WITH_FIREBIRD%\..\lib\fbclient_bor.lib" "%HB_LIB_INSTALL%\fbclient.lib" @@ -60,6 +61,7 @@ if not "%HB_LIB_INSTALL%" == "" ( if exist "%HB_WITH_ALLEGRO%\..\lib\alleg.lib" copy /b /y "%HB_WITH_ALLEGRO%\..\lib\alleg.lib" "%HB_LIB_INSTALL%\alleg.lib" if exist "%HB_WITH_APOLLO%\..\sde61.dll" call :P_MSVC_IMPLIB x86 "%HB_WITH_APOLLO%\..\sde61.dll" "%HB_LIB_INSTALL%\sde61.lib" if exist "%HB_WITH_BLAT%\..\blat.lib" copy /b /y "%HB_WITH_BLAT%\..\blat.lib" "%HB_LIB_INSTALL%\blat.lib" + if exist "%HB_WITH_CAIRO%\..\..\lib\cairo.lib" copy /b /y "%HB_WITH_CAIRO%\..\..\lib\cairo.lib" "%HB_LIB_INSTALL%\cairo.lib" if exist "%HB_WITH_CURL%\..\libcurl.dll" call :P_MSVC_IMPLIB x86 "%HB_WITH_CURL%\..\libcurl.dll" "%HB_LIB_INSTALL%\libcurl.lib" if exist "%HB_WITH_CURL%\..\bin\libcurl.dll" call :P_MSVC_IMPLIB x86 "%HB_WITH_CURL%\..\bin\libcurl.dll" "%HB_LIB_INSTALL%\libcurl.lib" if exist "%HB_WITH_FIREBIRD%\..\lib\fbclient_ms.lib" copy /b /y "%HB_WITH_FIREBIRD%\..\lib\fbclient_ms.lib" "%HB_LIB_INSTALL%\fbclient.lib" @@ -99,6 +101,7 @@ if not "%HB_LIB_INSTALL%" == "" ( if exist "%HB_WITH_ADS%\32bit\ace32.lib" copy /b /y "%HB_WITH_ADS%\32bit\ace32.lib" "%HB_LIB_INSTALL%\libace32.a" if exist "%HB_WITH_ALLEGRO%\..\lib\alleg.lib" copy /b /y "%HB_WITH_ALLEGRO%\..\lib\alleg.lib" "%HB_LIB_INSTALL%\liballeg.a" if exist "%HB_WITH_BLAT%\..\blat.lib" copy /b /y "%HB_WITH_BLAT%\..\blat.lib" "%HB_LIB_INSTALL%\libblat.a" + if exist "%HB_WITH_CAIRO%\..\..\lib\libcairo.dll.a" copy /b /y "%HB_WITH_CAIRO%\..\..\lib\libcairo.dll.a" "%HB_LIB_INSTALL%\libcairo.a" if exist "%HB_WITH_CURL%\..\lib\libcurl.a" copy /b /y "%HB_WITH_CURL%\..\lib\libcurl.a" "%HB_LIB_INSTALL%\libcurl.a" if exist "%HB_WITH_CURL%\..\lib\libcurldll.a" copy /b /y "%HB_WITH_CURL%\..\lib\libcurldll.a" "%HB_LIB_INSTALL%\libcurldll.a" if exist "%HB_WITH_FIREBIRD%\..\lib\fbclient_ms.lib" copy /b /y "%HB_WITH_FIREBIRD%\..\lib\fbclient_ms.lib" "%HB_LIB_INSTALL%\libfbclient.a" @@ -136,29 +139,30 @@ if not "%HB_LIB_INSTALL%" == "" ( if "%HB_COMPILER%" == "pocc" ( - if exist "%HB_WITH_ADS%\Redistribute\ace32.lib" copy /b /y "%HB_WITH_ADS%\Redistribute\ace32.lib" "%HB_LIB_INSTALL%\ace32.lib" - if exist "%HB_WITH_ADS%\ace32.lib" copy /b /y "%HB_WITH_ADS%\ace32.lib" "%HB_LIB_INSTALL%\ace32.lib" - if exist "%HB_WITH_ADS%\32bit\ace32.lib" copy /b /y "%HB_WITH_ADS%\32bit\ace32.lib" "%HB_LIB_INSTALL%\ace32.lib" - if exist "%HB_WITH_ALLEGRO%\..\lib\alleg.lib" copy /b /y "%HB_WITH_ALLEGRO%\..\lib\alleg.lib" "%HB_LIB_INSTALL%\alleg.lib" - if exist "%HB_WITH_APOLLO%\..\sde61.dll" polib "%HB_WITH_APOLLO%\..\sde61.dll" /out:"%HB_LIB_INSTALL%\sde61.lib" - if exist "%HB_WITH_BLAT%\..\blat.lib" copy /b /y "%HB_WITH_BLAT%\..\blat.lib" "%HB_LIB_INSTALL%\blat.lib" - if exist "%HB_WITH_CURL%\..\libcurl.dll" polib "%HB_WITH_CURL%\..\libcurl.dll" /out:"%HB_LIB_INSTALL%\libcurl.lib" - if exist "%HB_WITH_CURL%\..\bin\libcurl.dll" polib "%HB_WITH_CURL%\..\bin\libcurl.dll" /out:"%HB_LIB_INSTALL%\libcurl.lib" - if exist "%HB_WITH_FIREBIRD%\..\lib\fbclient_ms.lib" copy /b /y "%HB_WITH_FIREBIRD%\..\lib\fbclient_ms.lib" "%HB_LIB_INSTALL%\fbclient.lib" - if exist "%HB_WITH_FREEIMAGE%\..\Dist\FreeImage.lib" copy /b /y "%HB_WITH_FREEIMAGE%\..\Dist\FreeImage.lib" "%HB_LIB_INSTALL%\FreeImage.lib" - if exist "%HB_WITH_GD%\..\lib\bgd.lib" copy /b /y "%HB_WITH_GD%\..\lib\bgd.lib" "%HB_LIB_INSTALL%\bgd.lib" - if exist "%HB_WITH_LIBHARU%\..\libhpdf.lib" copy /b /y "%HB_WITH_LIBHARU%\..\libhpdf.lib" "%HB_LIB_INSTALL%\libhpdf.lib" - if exist "%HB_WITH_LIBHARU%\..\lib_dll\libhpdf.lib" copy /b /y "%HB_WITH_LIBHARU%\..\lib_dll\libhpdf.lib" "%HB_LIB_INSTALL%\libhpdf.lib" - if exist "%HB_WITH_MYSQL%\..\lib\opt\libmySQL.lib" copy /b /y "%HB_WITH_MYSQL%\..\lib\opt\libmySQL.lib" "%HB_LIB_INSTALL%\libmySQL.lib" - if exist "%HB_WITH_OPENSSL%\..\out32dll\libeay32.lib" copy /b /y "%HB_WITH_OPENSSL%\..\out32dll\libeay32.lib" "%HB_LIB_INSTALL%\libeay32.lib" - if exist "%HB_WITH_OPENSSL%\..\out32dll\ssleay32.lib" copy /b /y "%HB_WITH_OPENSSL%\..\out32dll\ssleay32.lib" "%HB_LIB_INSTALL%\ssleay32.lib" - if exist "%HB_WITH_OPENSSL%\..\dll\libeay32.lib" copy /b /y "%HB_WITH_OPENSSL%\..\dll\libeay32.lib" "%HB_LIB_INSTALL%\libeay32.lib" - if exist "%HB_WITH_OPENSSL%\..\dll\ssleay32.lib" copy /b /y "%HB_WITH_OPENSSL%\..\dll\ssleay32.lib" "%HB_LIB_INSTALL%\ssleay32.lib" - if exist "%HB_WITH_OPENSSL%\..\lib\libeay32.lib" copy /b /y "%HB_WITH_OPENSSL%\..\lib\libeay32.lib" "%HB_LIB_INSTALL%\libeay32.lib" - if exist "%HB_WITH_OPENSSL%\..\lib\ssleay32.lib" copy /b /y "%HB_WITH_OPENSSL%\..\lib\ssleay32.lib" "%HB_LIB_INSTALL%\ssleay32.lib" - if exist "%HB_WITH_OPENSSL%\..\libeay32.lib" copy /b /y "%HB_WITH_OPENSSL%\..\libeay32.lib" "%HB_LIB_INSTALL%\libeay32.lib" - if exist "%HB_WITH_OPENSSL%\..\ssleay32.lib" copy /b /y "%HB_WITH_OPENSSL%\..\ssleay32.lib" "%HB_LIB_INSTALL%\ssleay32.lib" - if exist "%HB_WITH_PGSQL%\..\lib\libpq.lib" copy /b /y "%HB_WITH_PGSQL%\..\lib\libpq.lib" "%HB_LIB_INSTALL%\libpq.lib" + if exist "%HB_WITH_ADS%\Redistribute\ace32.lib" copy /b /y "%HB_WITH_ADS%\Redistribute\ace32.lib" "%HB_LIB_INSTALL%\ace32.lib" + if exist "%HB_WITH_ADS%\ace32.lib" copy /b /y "%HB_WITH_ADS%\ace32.lib" "%HB_LIB_INSTALL%\ace32.lib" + if exist "%HB_WITH_ADS%\32bit\ace32.lib" copy /b /y "%HB_WITH_ADS%\32bit\ace32.lib" "%HB_LIB_INSTALL%\ace32.lib" + if exist "%HB_WITH_ALLEGRO%\..\lib\alleg.lib" copy /b /y "%HB_WITH_ALLEGRO%\..\lib\alleg.lib" "%HB_LIB_INSTALL%\alleg.lib" + if exist "%HB_WITH_APOLLO%\..\sde61.dll" polib "%HB_WITH_APOLLO%\..\sde61.dll" /out:"%HB_LIB_INSTALL%\sde61.lib" + if exist "%HB_WITH_BLAT%\..\blat.lib" copy /b /y "%HB_WITH_BLAT%\..\blat.lib" "%HB_LIB_INSTALL%\blat.lib" + if exist "%HB_WITH_CAIRO%\..\..\lib\cairo.lib" copy /b /y "%HB_WITH_CAIRO%\..\..\lib\cairo.lib" "%HB_LIB_INSTALL%\cairo.lib" + if exist "%HB_WITH_CURL%\..\libcurl.dll" polib "%HB_WITH_CURL%\..\libcurl.dll" /out:"%HB_LIB_INSTALL%\libcurl.lib" + if exist "%HB_WITH_CURL%\..\bin\libcurl.dll" polib "%HB_WITH_CURL%\..\bin\libcurl.dll" /out:"%HB_LIB_INSTALL%\libcurl.lib" + if exist "%HB_WITH_FIREBIRD%\..\lib\fbclient_ms.lib" copy /b /y "%HB_WITH_FIREBIRD%\..\lib\fbclient_ms.lib" "%HB_LIB_INSTALL%\fbclient.lib" + if exist "%HB_WITH_FREEIMAGE%\..\Dist\FreeImage.lib" copy /b /y "%HB_WITH_FREEIMAGE%\..\Dist\FreeImage.lib" "%HB_LIB_INSTALL%\FreeImage.lib" + if exist "%HB_WITH_GD%\..\lib\bgd.lib" copy /b /y "%HB_WITH_GD%\..\lib\bgd.lib" "%HB_LIB_INSTALL%\bgd.lib" + if exist "%HB_WITH_LIBHARU%\..\libhpdf.lib" copy /b /y "%HB_WITH_LIBHARU%\..\libhpdf.lib" "%HB_LIB_INSTALL%\libhpdf.lib" + if exist "%HB_WITH_LIBHARU%\..\lib_dll\libhpdf.lib" copy /b /y "%HB_WITH_LIBHARU%\..\lib_dll\libhpdf.lib" "%HB_LIB_INSTALL%\libhpdf.lib" + if exist "%HB_WITH_MYSQL%\..\lib\opt\libmySQL.lib" copy /b /y "%HB_WITH_MYSQL%\..\lib\opt\libmySQL.lib" "%HB_LIB_INSTALL%\libmySQL.lib" + if exist "%HB_WITH_OPENSSL%\..\out32dll\libeay32.lib" copy /b /y "%HB_WITH_OPENSSL%\..\out32dll\libeay32.lib" "%HB_LIB_INSTALL%\libeay32.lib" + if exist "%HB_WITH_OPENSSL%\..\out32dll\ssleay32.lib" copy /b /y "%HB_WITH_OPENSSL%\..\out32dll\ssleay32.lib" "%HB_LIB_INSTALL%\ssleay32.lib" + if exist "%HB_WITH_OPENSSL%\..\dll\libeay32.lib" copy /b /y "%HB_WITH_OPENSSL%\..\dll\libeay32.lib" "%HB_LIB_INSTALL%\libeay32.lib" + if exist "%HB_WITH_OPENSSL%\..\dll\ssleay32.lib" copy /b /y "%HB_WITH_OPENSSL%\..\dll\ssleay32.lib" "%HB_LIB_INSTALL%\ssleay32.lib" + if exist "%HB_WITH_OPENSSL%\..\lib\libeay32.lib" copy /b /y "%HB_WITH_OPENSSL%\..\lib\libeay32.lib" "%HB_LIB_INSTALL%\libeay32.lib" + if exist "%HB_WITH_OPENSSL%\..\lib\ssleay32.lib" copy /b /y "%HB_WITH_OPENSSL%\..\lib\ssleay32.lib" "%HB_LIB_INSTALL%\ssleay32.lib" + if exist "%HB_WITH_OPENSSL%\..\libeay32.lib" copy /b /y "%HB_WITH_OPENSSL%\..\libeay32.lib" "%HB_LIB_INSTALL%\libeay32.lib" + if exist "%HB_WITH_OPENSSL%\..\ssleay32.lib" copy /b /y "%HB_WITH_OPENSSL%\..\ssleay32.lib" "%HB_LIB_INSTALL%\ssleay32.lib" + if exist "%HB_WITH_PGSQL%\..\lib\libpq.lib" copy /b /y "%HB_WITH_PGSQL%\..\lib\libpq.lib" "%HB_LIB_INSTALL%\libpq.lib" goto END ) @@ -171,6 +175,7 @@ if not "%HB_LIB_INSTALL%" == "" ( if exist "%HB_WITH_ALLEGRO%\..\bin\alleg42.dll" wlib.exe -q -o="%HB_LIB_INSTALL%\alleg.lib" "%HB_WITH_ALLEGRO%\..\bin\alleg42.dll" if exist "%HB_WITH_APOLLO%\..\sde61.dll" wlib.exe -q -o="%HB_LIB_INSTALL%\sde61.lib" "%HB_WITH_APOLLO%\..\sde61.dll" if exist "%HB_WITH_BLAT%\..\blat.dll" wlib.exe -q -o="%HB_LIB_INSTALL%\blat.lib" "%HB_WITH_BLAT%\..\blat.dll" + if exist "%HB_WITH_CAIRO%\..\..\bin\libcairo-2.dll" wlib.exe -q -o="%HB_LIB_INSTALL%\cairo.lib" "%HB_WITH_CAIRO%\..\..\bin\libcairo-2.dll" if exist "%HB_WITH_CURL%\..\libcurl.dll" wlib.exe -q -o="%HB_LIB_INSTALL%\libcurl.lib" "%HB_WITH_CURL%\..\libcurl.dll" if exist "%HB_WITH_CURL%\..\bin\libcurl.dll" wlib.exe -q -o="%HB_LIB_INSTALL%\libcurl.lib" "%HB_WITH_CURL%\..\bin\libcurl.dll" if exist "%HB_WITH_FIREBIRD%\..\bin\fbclient.dll" wlib.exe -q -o="%HB_LIB_INSTALL%\fbclient.lib" "%HB_WITH_FIREBIRD%\..\bin\fbclient.dll" diff --git a/harbour/config/global.mk b/harbour/config/global.mk index 6eec0acbe0..419e304b57 100644 --- a/harbour/config/global.mk +++ b/harbour/config/global.mk @@ -815,100 +815,85 @@ ifeq ($(HB_COMPILER),) endif endif endif - else - ifeq ($(HB_PLATFORM),linux) + else ifeq ($(HB_PLATFORM),linux) + HB_COMP_PATH := $(call find_in_path,wpp386) + ifneq ($(HB_COMP_PATH),) + HB_COMPILER := watcom + $(eval $(call detect_watcom_platform)) + else + HB_COMP_PATH := $(call find_in_path,gcc) + ifneq ($(HB_COMP_PATH),) + HB_COMPILER := gcc + else + HB_COMP_PATH := $(call find_in_path,suncc) + ifneq ($(HB_COMP_PATH),) + HB_COMPILER := sunpro + else + HB_COMP_PATH := $(call find_in_path,icc) + ifneq ($(HB_COMP_PATH),) + HB_COMPILER := icc + endif + endif + endif + endif + else ifneq ($(filter $(HB_PLATFORM),hpux bsd),) + HB_COMP_PATH := $(call find_in_path,gcc) + ifneq ($(HB_COMP_PATH),) + HB_COMPILER := gcc + endif + else ifeq ($(HB_PLATFORM),darwin) + HB_COMP_PATH := $(call find_in_path_par,clang,/Developer/usr/bin/) + ifneq ($(HB_COMP_PATH),) + HB_CCPREFIX := /Developer/usr/bin/ + HB_COMPILER := clang + else + HB_COMP_PATH := $(call find_in_path,gcc) + ifneq ($(HB_COMP_PATH),) + HB_COMPILER := gcc + else + HB_COMP_PATH := $(call find_in_path,icc) + ifneq ($(HB_COMP_PATH),) + HB_COMPILER := icc + endif + endif + endif + else ifeq ($(HB_PLATFORM),sunos) + HB_COMP_PATH := $(call find_in_path,suncc) + ifneq ($(HB_COMP_PATH),) + HB_COMPILER := sunpro + else + HB_COMP_PATH := $(call find_in_path,gcc) + ifneq ($(HB_COMP_PATH),) + HB_COMPILER := gcc + endif + endif + else ifeq ($(HB_PLATFORM),dos) + HB_COMP_PATH := $(call find_in_path,gcc) + ifneq ($(HB_COMP_PATH),) + HB_COMPILER := djgpp + else HB_COMP_PATH := $(call find_in_path,wpp386) ifneq ($(HB_COMP_PATH),) HB_COMPILER := watcom $(eval $(call detect_watcom_platform)) - else - HB_COMP_PATH := $(call find_in_path,gcc) - ifneq ($(HB_COMP_PATH),) - HB_COMPILER := gcc - else - HB_COMP_PATH := $(call find_in_path,suncc) - ifneq ($(HB_COMP_PATH),) - HB_COMPILER := sunpro - else - HB_COMP_PATH := $(call find_in_path,icc) - ifneq ($(HB_COMP_PATH),) - HB_COMPILER := icc - endif - endif - endif endif + endif + else ifeq ($(HB_PLATFORM),os2) + HB_COMP_PATH := $(call find_in_path,gcc) + ifneq ($(HB_COMP_PATH),) + HB_COMPILER := gcc else - ifneq ($(filter $(HB_PLATFORM),hpux bsd),) - HB_COMP_PATH := $(call find_in_path,gcc) - ifneq ($(HB_COMP_PATH),) - HB_COMPILER := gcc - endif - else - ifeq ($(HB_PLATFORM),darwin) - HB_COMP_PATH := $(call find_in_path_par,clang,/Developer/usr/bin/) - ifneq ($(HB_COMP_PATH),) - HB_CCPREFIX := /Developer/usr/bin/ - HB_COMPILER := clang - else - HB_COMP_PATH := $(call find_in_path,gcc) - ifneq ($(HB_COMP_PATH),) - HB_COMPILER := gcc - else - HB_COMP_PATH := $(call find_in_path,icc) - ifneq ($(HB_COMP_PATH),) - HB_COMPILER := icc - endif - endif - endif - else - ifeq ($(HB_PLATFORM),sunos) - HB_COMP_PATH := $(call find_in_path,suncc) - ifneq ($(HB_COMP_PATH),) - HB_COMPILER := sunpro - else - HB_COMP_PATH := $(call find_in_path,gcc) - ifneq ($(HB_COMP_PATH),) - HB_COMPILER := gcc - endif - endif - else - ifeq ($(HB_PLATFORM),dos) - HB_COMP_PATH := $(call find_in_path,gcc) - ifneq ($(HB_COMP_PATH),) - HB_COMPILER := djgpp - else - HB_COMP_PATH := $(call find_in_path,wpp386) - ifneq ($(HB_COMP_PATH),) - HB_COMPILER := watcom - $(eval $(call detect_watcom_platform)) - endif - endif - else - ifeq ($(HB_PLATFORM),os2) - HB_COMP_PATH := $(call find_in_path,gcc) - ifneq ($(HB_COMP_PATH),) - HB_COMPILER := gcc - else - HB_COMP_PATH := $(call find_in_path,wpp386) - ifneq ($(HB_COMP_PATH),) - HB_COMPILER := watcom - $(eval $(call detect_watcom_platform)) - endif - endif - else - ifeq ($(HB_PLATFORM),beos) - HB_COMP_PATH := $(call find_in_path,gcc) - ifneq ($(HB_COMP_PATH),) - HB_COMPILER := gcc - endif - endif - # add other platforms here - endif - endif - endif - endif + HB_COMP_PATH := $(call find_in_path,wpp386) + ifneq ($(HB_COMP_PATH),) + HB_COMPILER := watcom + $(eval $(call detect_watcom_platform)) endif endif + else ifeq ($(HB_PLATFORM),beos) + HB_COMP_PATH := $(call find_in_path,gcc) + ifneq ($(HB_COMP_PATH),) + HB_COMPILER := gcc + endif endif endif ifneq ($(HB_COMPILER),) diff --git a/harbour/contrib/hbcairo/Makefile b/harbour/contrib/hbcairo/Makefile index 0ad664c29e..ac6ef31da2 100644 --- a/harbour/contrib/hbcairo/Makefile +++ b/harbour/contrib/hbcairo/Makefile @@ -19,11 +19,24 @@ C_SOURCES := \ PRG_SOURCES := \ -C_HEADERS := \ - hbcairo.h \ - PRG_HEADERS := \ hbcairo.ch \ -include $(TOP)$(ROOT)config/header.mk -include $(TOP)$(ROOT)config/lib.mk +_DET_DSP_NAME := cairo +_DET_VAR_INC_ := HB_INC_CAIRO +_DET_VAR_HAS_ := HB_HAS_CAIRO +_DET_FLT_PLAT := +_DET_FLT_COMP := +_DET_INC_DEFP := /usr/include +_DET_INC_HEAD := /cairo.h +include $(TOP)$(ROOT)config/detfun.mk + +ifneq ($(HB_HAS_CAIRO),) + HB_CFLAGS += $(foreach d,$(HB_HAS_CAIRO),-I$(d)) + + include $(TOP)$(ROOT)config/header.mk + include $(TOP)$(ROOT)config/lib.mk +else + HB_SKIP_REASON := $(_DET_RES_TEXT) + include $(TOP)$(ROOT)config/none.mk +endif diff --git a/harbour/contrib/hbcairo/hbcairo.hbc b/harbour/contrib/hbcairo/hbcairo.hbc index 005c7a29c2..93b5cdc364 100644 --- a/harbour/contrib/hbcairo/hbcairo.hbc +++ b/harbour/contrib/hbcairo/hbcairo.hbc @@ -5,4 +5,4 @@ incpaths=. libs=hbcairo -libs=libcairo-2.0 +libs=cairo