removed duplicated linked libraries for darwin
This commit is contained in:
@@ -53,6 +53,22 @@ ifeq ($(BUILD_SHARED),yes)
|
|||||||
HB_LIBS_TPL :=
|
HB_LIBS_TPL :=
|
||||||
else
|
else
|
||||||
# (have to use '=' operator here)
|
# (have to use '=' operator here)
|
||||||
|
ifeq ($(HB_PLATFORM),darwin)
|
||||||
|
# On macOS, ld warns about duplicate libraries and can handle circular deps without duplicates
|
||||||
|
HB_LIBS_TPL = \
|
||||||
|
hbextern \
|
||||||
|
hbdebug \
|
||||||
|
$(_HB_VM) \
|
||||||
|
hbrtl \
|
||||||
|
hblang \
|
||||||
|
hbcpage \
|
||||||
|
$(HB_GT_LIBS) \
|
||||||
|
$(_HB_RDD) \
|
||||||
|
hbmacro \
|
||||||
|
hbcplr \
|
||||||
|
hbpp \
|
||||||
|
hbcommon
|
||||||
|
else
|
||||||
HB_LIBS_TPL = \
|
HB_LIBS_TPL = \
|
||||||
hbextern \
|
hbextern \
|
||||||
hbdebug \
|
hbdebug \
|
||||||
@@ -68,6 +84,7 @@ else
|
|||||||
hbcplr \
|
hbcplr \
|
||||||
hbpp \
|
hbpp \
|
||||||
hbcommon
|
hbcommon
|
||||||
|
endif
|
||||||
|
|
||||||
ifneq ($(HB_HAS_PCRE_LOCAL),)
|
ifneq ($(HB_HAS_PCRE_LOCAL),)
|
||||||
HB_LIBS_TPL += hbpcre
|
HB_LIBS_TPL += hbpcre
|
||||||
|
|||||||
@@ -1843,6 +1843,17 @@ STATIC FUNCTION __hbmk( aArgs, nArgTarget, nLevel, /* @ */ lPause, /* @ */ lExit
|
|||||||
hbmk[ _HBMK_cCCEXT ] := ".exe"
|
hbmk[ _HBMK_cCCEXT ] := ".exe"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
/* Apply platform-specific library fixes */
|
||||||
|
IF hbmk[ _HBMK_cPLAT ] == "darwin"
|
||||||
|
/* On macOS, remove duplicate 'hbrdd' since ld warns about duplicate libraries and doesn't support lib grouping */
|
||||||
|
IF hbmk[ _HBMK_nHBMODE ] == _HBMODE_HB10
|
||||||
|
aLIB_BASE_RDD := { "hbrdd", "hbusrrdd", "rddntx", "rddcdx", "rddfpt", "hbhsx", "hbsix" }
|
||||||
|
ELSE
|
||||||
|
aLIB_BASE_RDD := { "hbrdd", "hbuddall", "hbusrrdd", "rddntx", "rddcdx", "rddnsx", "rddfpt", "hbhsx", "hbsix" }
|
||||||
|
ENDIF
|
||||||
|
aLIB_BASE_RDD_MT := aLIB_BASE_RDD
|
||||||
|
ENDIF
|
||||||
|
|
||||||
/* Setup platform dependent data */
|
/* Setup platform dependent data */
|
||||||
|
|
||||||
cBin_CompPRG := "harbour" + l_cHBSUFFIX
|
cBin_CompPRG := "harbour" + l_cHBSUFFIX
|
||||||
@@ -4180,7 +4191,12 @@ STATIC FUNCTION __hbmk( aArgs, nArgTarget, nLevel, /* @ */ lPause, /* @ */ lExit
|
|||||||
ELSE
|
ELSE
|
||||||
AAdd( hbmk[ _HBMK_aOPTL ], "{LL} {LB} {LF}" )
|
AAdd( hbmk[ _HBMK_aOPTL ], "{LL} {LB} {LF}" )
|
||||||
AAdd( hbmk[ _HBMK_aOPTD ], "{LL} {LB} {LF}" )
|
AAdd( hbmk[ _HBMK_aOPTD ], "{LL} {LB} {LF}" )
|
||||||
l_aLIBHBBASE_2 := iif( hbmk[ _HBMK_lMT ], aLIB_BASE_2_MT, aLIB_BASE_2 )
|
IF hbmk[ _HBMK_cPLAT ] == "darwin"
|
||||||
|
/* On macOS, ld can handle circular dependencies without duplicates and warns about duplicate libraries */
|
||||||
|
l_aLIBHBBASE_2 := {}
|
||||||
|
ELSE
|
||||||
|
l_aLIBHBBASE_2 := iif( hbmk[ _HBMK_lMT ], aLIB_BASE_2_MT, aLIB_BASE_2 )
|
||||||
|
ENDIF
|
||||||
ENDIF
|
ENDIF
|
||||||
IF hbmk[ _HBMK_cPLAT ] == "darwin"
|
IF hbmk[ _HBMK_cPLAT ] == "darwin"
|
||||||
/* Leave space for later modifying .dylib paths using `install_name_tool`.
|
/* Leave space for later modifying .dylib paths using `install_name_tool`.
|
||||||
@@ -4549,7 +4565,13 @@ STATIC FUNCTION __hbmk( aArgs, nArgTarget, nLevel, /* @ */ lPause, /* @ */ lExit
|
|||||||
ELSE
|
ELSE
|
||||||
AAdd( hbmk[ _HBMK_aOPTL ], "{LL} {LB} {LF}" )
|
AAdd( hbmk[ _HBMK_aOPTL ], "{LL} {LB} {LF}" )
|
||||||
AAdd( hbmk[ _HBMK_aOPTD ], "{LL} {LB} {LF}" )
|
AAdd( hbmk[ _HBMK_aOPTD ], "{LL} {LB} {LF}" )
|
||||||
l_aLIBHBBASE_2 := iif( hbmk[ _HBMK_lMT ], aLIB_BASE_2_MT, aLIB_BASE_2 )
|
IF hbmk[ _HBMK_cPLAT ] == "darwin"
|
||||||
|
/* On macOS, ld warns about duplicate libraries, so we skip the duplicate base libs
|
||||||
|
since macOS ld can handle circular dependencies without explicit grouping */
|
||||||
|
l_aLIBHBBASE_2 := {}
|
||||||
|
ELSE
|
||||||
|
l_aLIBHBBASE_2 := iif( hbmk[ _HBMK_lMT ], aLIB_BASE_2_MT, aLIB_BASE_2 )
|
||||||
|
ENDIF
|
||||||
ENDIF
|
ENDIF
|
||||||
IF hbmk[ _HBMK_lSTRIP ]
|
IF hbmk[ _HBMK_lSTRIP ]
|
||||||
IF hbmk[ _HBMK_lCreateLib ]
|
IF hbmk[ _HBMK_lCreateLib ]
|
||||||
|
|||||||
Reference in New Issue
Block a user