fix the build on darwin:
-fs_shell was using weak aliases, which is apparently not supported on the darwin toolchain (or it's supported in some different way) -remove building strl* routines for some of the host tools, since that already exists in libSystem git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21407 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
@@ -21,6 +21,11 @@ UseHeaders [ FDirName $(HAIKU_TOP) headers build private kernel ] : true ;
|
|||||||
# locate the library
|
# locate the library
|
||||||
MakeLocate libroot_build.so : $(HOST_BUILD_COMPATIBILITY_LIB_DIR) ;
|
MakeLocate libroot_build.so : $(HOST_BUILD_COMPATIBILITY_LIB_DIR) ;
|
||||||
|
|
||||||
|
# darwin already has strlcpy and strlcat in libSystem
|
||||||
|
if $(HOST_PLATFORM) != darwin {
|
||||||
|
STRLSRC = strlcpy.c strlcat.c ;
|
||||||
|
}
|
||||||
|
|
||||||
BuildPlatformSharedLibrary libroot_build.so :
|
BuildPlatformSharedLibrary libroot_build.so :
|
||||||
atomic.cpp
|
atomic.cpp
|
||||||
byteorder.cpp
|
byteorder.cpp
|
||||||
@@ -32,8 +37,7 @@ BuildPlatformSharedLibrary libroot_build.so :
|
|||||||
sem.cpp
|
sem.cpp
|
||||||
thread.cpp
|
thread.cpp
|
||||||
|
|
||||||
strlcpy.c
|
$(STRLSRC)
|
||||||
strlcat.c
|
|
||||||
strnlen.c
|
strnlen.c
|
||||||
|
|
||||||
:
|
:
|
||||||
|
|||||||
@@ -869,9 +869,18 @@ fssh_get_driver_settings(void *handle)
|
|||||||
return &((settings_handle *)handle)->settings;
|
return &((settings_handle *)handle)->settings;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#ifndef HAIKU_HOST_PLATFORM_DARWIN
|
||||||
// this creates an alias of the above function
|
// this creates an alias of the above function
|
||||||
// unload_driver_settings() is the same as delete_driver_settings()
|
// unload_driver_settings() is the same as delete_driver_settings()
|
||||||
extern "C" __typeof(fssh_unload_driver_settings) fssh_delete_driver_settings
|
extern "C" __typeof(fssh_unload_driver_settings) fssh_delete_driver_settings
|
||||||
__attribute__ ((alias ("fssh_unload_driver_settings")));
|
__attribute__ ((alias ("fssh_unload_driver_settings")));
|
||||||
|
#else
|
||||||
|
// can't use weak aliases on darwin apparently
|
||||||
|
fssh_status_t
|
||||||
|
fssh_delete_driver_settings(void *handle)
|
||||||
|
{
|
||||||
|
return fssh_unload_driver_settings(handle);
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -13,12 +13,16 @@ SubDirC++Flags -include $(r5Compatibility) ;
|
|||||||
BuildPlatformStaticLibrary <build>librdef.a :
|
BuildPlatformStaticLibrary <build>librdef.a :
|
||||||
compile.cpp decompile.cpp lexer.l parser.y rdef.cpp ;
|
compile.cpp decompile.cpp lexer.l parser.y rdef.cpp ;
|
||||||
|
|
||||||
|
# these platforms do not need a second copy of the strl routines
|
||||||
|
if $(HOST_PLATFORM) != darwin && $(HOST_PLATFORM) != linux && $(HOST_PLATFORM) != freebsd {
|
||||||
|
STRLSRC = strlcpy.c strlcat.c ;
|
||||||
|
}
|
||||||
|
|
||||||
BuildPlatformMain <build>rc :
|
BuildPlatformMain <build>rc :
|
||||||
rc.cpp
|
rc.cpp
|
||||||
|
|
||||||
# these two are needed for R5 only
|
# these two are needed for R5 only
|
||||||
strlcpy.c
|
$(STRLSRC)
|
||||||
strlcat.c
|
|
||||||
;
|
;
|
||||||
LinkAgainst <build>rc
|
LinkAgainst <build>rc
|
||||||
: <build>librdef.a $(HOST_LIBSTDC++) $(HOST_LIBBE) $(HOST_LIBSUPC++) ;
|
: <build>librdef.a $(HOST_LIBSTDC++) $(HOST_LIBBE) $(HOST_LIBSUPC++) ;
|
||||||
|
|||||||
Reference in New Issue
Block a user