diff --git a/harbour/ChangeLog b/harbour/ChangeLog index c1c3bc4d19..d6409fabdf 100644 --- a/harbour/ChangeLog +++ b/harbour/ChangeLog @@ -17,6 +17,20 @@ past entries belonging to author(s): Viktor Szakats. */ +2009-06-19 14:50 UTC+0200 Viktor Szakats (harbour.01 syenar.hu) + * utils/hbmk2/hbmk2.prg + + Added basic HB_CCPOSTFIX support. + + Switched to use libtool (instead of ar) on darwin. + (to be tested after commit) + + * config/darwin/gcc.cf + + Added HB_CCPREFIX support. + + Added HB_CCPOSTFIX support. + ; Only needed for cc/gcc. + + * config/linux/gcc.cf + + Added HB_CCPREFIX support. + 2009-06-19 14:25 UTC+0200 Viktor Szakats (harbour.01 syenar.hu) * tests/testhrb.prg * tests/exthrb.prg diff --git a/harbour/config/darwin/gcc.cf b/harbour/config/darwin/gcc.cf index 89708026fc..d9b5dba1ad 100644 --- a/harbour/config/darwin/gcc.cf +++ b/harbour/config/darwin/gcc.cf @@ -17,7 +17,7 @@ EXE_EXT = LIB_PREF = lib LIB_EXT = .a -CC = $(HB_CCACHE) $(HB_CMP) +CC = $(HB_CCACHE) $(HB_CCPREFIX)$(HB_CMP)$(HB_CCPOSTFIX) CC_IN = -c # NOTE: The ending space after -o is important, please preserve it. # Now solved with '$(subst x,x, )' expression. @@ -47,7 +47,7 @@ endif # remove it if you have newer compiler version #CFLAGS += -Wno-long-double -LD = cc +LD = $(HB_CCPREFIX)cc$(HB_CCPOSTFIX) LD_OUT = -o # Add all libraries specified in CONTRIBS and LIBS. diff --git a/harbour/config/linux/gcc.cf b/harbour/config/linux/gcc.cf index 56d0c9b8a7..021493f25c 100644 --- a/harbour/config/linux/gcc.cf +++ b/harbour/config/linux/gcc.cf @@ -15,7 +15,7 @@ EXE_EXT = LIB_PREF = lib LIB_EXT = .a -CC = $(HB_CCACHE) $(HB_CMP) +CC = $(HB_CCACHE) $(HB_CCPREFIX)$(HB_CMP) CC_IN = -c CC_OUT = -o CPPFLAGS = -I. -I$(HB_INC_COMPILE) @@ -48,7 +48,7 @@ ifeq ($(HB_BUILD_DEBUG),yes) CFLAGS += -g endif -LD = $(HB_CCACHE) $(HB_CMP) +LD = $(HB_CCACHE) $(HB_CCPREFIX)$(HB_CMP) LD_OUT = -o # Add all libraries specified in CONTRIBS and LIBS. @@ -110,7 +110,7 @@ LINKLIBS += -lm -lrt -ldl -Wl,--end-group LDFLAGS = $(LINKPATHS) -AR = ar +AR = $(HB_CCPREFIX)ar ARFLAGS = $(HB_USER_AFLAGS) AR_RULE = $(AR) $(ARFLAGS) crs $(LIB_DIR)/$@ $(^F) || ( $(RM) $(LIB_DIR)/$@ && false ) diff --git a/harbour/utils/hbmk2/hbmk2.prg b/harbour/utils/hbmk2/hbmk2.prg index 0e5405804e..11fb8d35f5 100644 --- a/harbour/utils/hbmk2/hbmk2.prg +++ b/harbour/utils/hbmk2/hbmk2.prg @@ -254,10 +254,11 @@ REQUEST hbmk_KEYW #define _HBMK_cCCPATH 57 #define _HBMK_cCCPREFIX 58 +#define _HBMK_cCCPOSTFIX 59 -#define _HBMK_lUTF8 59 +#define _HBMK_lUTF8 60 -#define _HBMK_MAX_ 59 +#define _HBMK_MAX_ 60 #ifndef _HBMK_EMBEDDED_ @@ -901,8 +902,9 @@ FUNCTION hbmk( aArgs, /* @ */ lPause, /* @ */ lUTF8 ) ENDIF ENDIF - hbmk[ _HBMK_cCCPATH ] := GetEnv( "HB_CCPATH" ) - hbmk[ _HBMK_cCCPREFIX ] := GetEnv( "HB_CCPREFIX" ) + hbmk[ _HBMK_cCCPATH ] := GetEnv( "HB_CCPATH" ) + hbmk[ _HBMK_cCCPREFIX ] := GetEnv( "HB_CCPREFIX" ) + hbmk[ _HBMK_cCCPOSTFIX ] := GetEnv( "HB_CCPOSTFIX" ) #if defined( __PLATFORM__UNIX ) cCCEXT_mingw := "" @@ -1103,6 +1105,7 @@ FUNCTION hbmk( aArgs, /* @ */ lPause, /* @ */ lUTF8 ) IF Empty( hbmk[ _HBMK_cCCPATH ] ) .AND. ; Empty( hbmk[ _HBMK_cCCPREFIX ] ) .AND. ; + Empty( hbmk[ _HBMK_cCCPOSTFIX ] ) .AND. ; !( hbmk[ _HBMK_cARCH ] == "dos" ) DO CASE @@ -2008,9 +2011,14 @@ FUNCTION hbmk( aArgs, /* @ */ lPause, /* @ */ lUTF8 ) cLibPrefix := "-l" cLibExt := "" cObjExt := ".o" - cBin_Lib := hbmk[ _HBMK_cCCPREFIX ] + "ar" - cOpt_Lib := "{FA} rcs {OL} {LO}" - cBin_CompC := hbmk[ _HBMK_cCCPREFIX ] + iif( l_lCPP != NIL .AND. l_lCPP, "g++", "gcc" ) + IF hbmk[ _HBMK_cARCH ] == "darwin" + cBin_Lib := "libtool" + cOpt_Lib := "-static {FA} -o {LO} {OL}" + ELSE + cBin_Lib := hbmk[ _HBMK_cCCPREFIX ] + "ar" + cOpt_Lib := "{FA} rcs {OL} {LO}" + ENDIF + cBin_CompC := hbmk[ _HBMK_cCCPREFIX ] + iif( l_lCPP != NIL .AND. l_lCPP, "g++", "gcc" ) + hbmk[ _HBMK_cCCPOSTFIX ] cOpt_CompC := "-c" IF hbmk[ _HBMK_lOPTIM ] cOpt_CompC += " -O3" @@ -2165,7 +2173,7 @@ FUNCTION hbmk( aArgs, /* @ */ lPause, /* @ */ lUTF8 ) cLibPrefix := "-l" cLibExt := "" cObjExt := ".o" - cBin_CompC := hbmk[ _HBMK_cCCPREFIX ] + iif( l_lCPP != NIL .AND. l_lCPP, "g++", "gcc" ) + cCCEXT_mingw + cBin_CompC := hbmk[ _HBMK_cCCPREFIX ] + iif( l_lCPP != NIL .AND. l_lCPP, "g++", "gcc" ) + hbmk[ _HBMK_cCCPOSTFIX ] + cCCEXT_mingw cOpt_CompC := "-c" IF hbmk[ _HBMK_lOPTIM ] cOpt_CompC += " -O3"