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:
Travis Geiselbrecht 2007-06-14 05:17:59 +00:00
parent 93c2088983
commit b9a5b9a6ee
3 changed files with 22 additions and 5 deletions

View File

@ -21,6 +21,11 @@ UseHeaders [ FDirName $(HAIKU_TOP) headers build private kernel ] : true ;
# locate the library
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 :
atomic.cpp
byteorder.cpp
@ -32,8 +37,7 @@ BuildPlatformSharedLibrary libroot_build.so :
sem.cpp
thread.cpp
strlcpy.c
strlcat.c
$(STRLSRC)
strnlen.c
:

View File

@ -869,9 +869,18 @@ fssh_get_driver_settings(void *handle)
return &((settings_handle *)handle)->settings;
}
#ifndef HAIKU_HOST_PLATFORM_DARWIN
// this creates an alias of the above function
// unload_driver_settings() is the same as delete_driver_settings()
extern "C" __typeof(fssh_unload_driver_settings) fssh_delete_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

View File

@ -13,12 +13,16 @@ SubDirC++Flags -include $(r5Compatibility) ;
BuildPlatformStaticLibrary <build>librdef.a :
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 :
rc.cpp
# these two are needed for R5 only
strlcpy.c
strlcat.c
$(STRLSRC)
;
LinkAgainst <build>rc
: <build>librdef.a $(HOST_LIBSTDC++) $(HOST_LIBBE) $(HOST_LIBSUPC++) ;